做開發時,會用到post提交資料,原來是用httpmime包來處理資料封裝, 但為了乙個小需求,引入乙個幾十kb的jar,總感覺不值,學習一下post請求的格式,自己順便練下手,實現乙個
服務端通常是根據請求頭(headers)中的 content-type 欄位來獲知請求中的訊息主體是用何種方式編碼,再對主體進行解析。所以說到 post 提交資料方案,包含了 content-type 和訊息主體編碼方式兩部分。
最基本的form表單結構,用於傳遞字元引數的鍵值對,請求結構如下
這是上傳檔案時,最常見的資料提交方式,看一下請求結構
------webkitformboundary7ma4ywxktrzu0gw--首先請求頭中的content-type 是multipart/form-data; 並且會隨機生成乙個boundary, 用於區分請求body中的各個資料; 每個資料以 --boundary 開始, 緊接著換行,下面是內容描述資訊, 接著換2行, 接著是資料; 然後以 --boundary-- 結尾, 最後換行;
文字資料和檔案,的內容描述是不相同的
文字引數:
content-disposition: form-data; name="key"
content-type: text/plain; charset=utf-8
content-transfer-encoding: 8bit
檔案引數:
content-disposition: form-data; name="imgfile"; filename="no-file"
content-transfer-encoding: binary
每個換行都是 \r\n ;
text/xml
text/plain
請求頭的content-type設定為這幾個也很常見, 不過一般是在web前端開發中,請求body沒有固定結構, 直接傳輸對應資料的資料流, 不必和上面2種樣, 還要用固定的結構包起來, 只不過資料對應的是json, xml, 文字;
C winform post請求資料
其原理是,利用winfrom模擬表單提交資料,將要提交的引數提交給網頁,網頁執行 得到資料,然後winform程式將網頁的所有源 讀取下來,這樣就達到windows應用程式和web應用程式之間傳參和現實資料的效果了。首先建立乙個windows應用程式和web應用程式。在web應用程式中,將網頁切換到...
PHPcurl請求資料
php curl post請求和get請求 獲取的引數 api key 8a82d53a57b06c1d835d129f7e43d49c ordernum pdo fetch select ddlm order no from tablename ewei shop order where id g...
angular請求資料
get請求import from angular common http 2 在元件中引入模組並宣告 constructor private http httpclient 3 呼叫函式 ngoninit post請求import from angular common http 2 在元件中引入模...