簡體   English   中英

如何使用http POST數據部分-Java

[英]How to use http POST data section - Java

我的應用程序中有許多有效的https POST連接,所有連接都在表單部分發送簡單的名稱/值對。

我一直在使用https://httpbin.org/post測試新的通信,該通信會反跳我的請求,因此我可以看到它的外觀。

返回的請求如下所示:

{  
    "args": {},   
    "data": "",   
    "files": {},   
    "form": {    
        "data": "Test file #1\nThis file is for testing the file uploading",     
        "name": "testFile1.txt"  
        ...
    },   
    "headers": {    
        "Accept": "text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2",     
        "Content-Length": "193",     
        "Content-Type": "application/x-www-form-urlencoded",     
        "Host": "httpbin.org",     
        "User-Agent": "Java/1.8.0_45"  
    },   
    "json": null,   
    ...  
    "url": "https://httpbin.org/post"
}

我可以使用httpsConn.getOutputStream().write(data)將數據放入“表單”部分(如上所述),其中httpsConn是我的HttpsURLConnection,而data是我的名稱/值對的byte []。

並且我可以使用(在其他位中,我認為這些是重要的代碼段)將數據放入“文件”部分

request.writeBytes("Content-Disposition: form-data; name=\\"data\\"; filename=\\"testFile1.txt\\"\\r\\n");
int data; while ((data = fileInputStream.read()) != -1) { request.write(data); }

請求是我的DataOutputStream

上面的選項可以在“表單”或“文件”部分中發送文件,但是我並不真正了解它如何定義應在哪個部分中發送信息。

如何將信息添加到“數據”或“參數”部分?

在僅希望將數據作為鍵值對發送的簡單方案中,請使用表單數據。.它易於實現且易於使用。

但是,當您要發送復雜數據(如CSV文件或任何此類大數據)時,請將它們作為具有適當內容配置的文件作為多部分數據或相關數據發送。

Args通常用於get請求的情況下,后端需要根據用戶輸入發回一些數據。由於語義上不正確,我們通常不使用args將數據發布到后端。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM