http 協議規定 post 提交的資料必須放在訊息主體(entity-body)中,但協議並沒有規定資料必須使用什麼編碼方式。常見的四種編碼方式如下:
1、application/x-www-form-urlencoded
這應該是最常見的 post 提交資料的方式了。瀏覽器的原生 form 表單,如果不設定 enctype 屬性,那麼最終就會以 application/x-www-form-urlencoded 方式提交資料。請求類似於下面這樣(無關的請求頭在本文中都省略掉了):
這又是乙個常見的 post 資料提交的方式。我們使用表單上傳檔案時,必須讓 form 的 enctyped 等於這個值,下面是示例
application/json 這個 content-type 作為響應頭大家肯定不陌生。實際上,現在越來越多的人把它作為請求頭,用來告訴服務端訊息主體是序列化後的 json 字串。由於 json 規範的流行,除了低版本 ie 之外的各大瀏覽器都原生支援 json.stringify,服務端語言也都有處理 json 的函式,使用 json 不會遇上什麼麻煩。
4、text/xml
它是一種使用 http 作為傳輸協議,xml 作為編碼方式的遠端呼叫規範。
那麼python在呼叫外部http請求時,post請求怎麼傳請求體呢?說實話樓主只實踐過【2、multipart/form-data 】和【3、application/json】
一、multipart/form-data
需要利用python的poster模組,安裝poster:pip install poster
# 如果有請求頭資料,則新增請求頭
request .add_header(keys, headers[keys])
result = urllib2.urlopen(request ).read()二、application/json
import json
url = ""
body_value =
register_openers()
body_value = json.jsonencoder().encode(api_body_value)
request = urllib2.request(url, body_value)
request .add_header(keys, headers[keys])
result = urllib2.urlopen(request ).read()
Python請求外部POST請求,常見四種請求體
這又是乙個常見的 post 資料提交的方式。我們使用表單上傳檔案時,必須讓 form 的 enctyped 等於這個值,下面是示例 它是一種使用 http 作為傳輸協議,xml 作為編碼方式的遠端呼叫規範。import urllib url body value body value urllib....
React網路請求fetch之post請求
本節介紹下react下fetch的post請求 1 編寫服務端 載入express模組 var express require express 載入path路徑處理核心模組 var path require path 載入body parser中介軟體 var bodyparser require ...
python傳送post請求
usr bin python02 coding utf 8 03 04importhttplib,urllib 載入模組 05 06 定義需要進行傳送的資料 07params urllib.urlencode 08 定義一些檔案頭 09headers 11 與 構建乙個連線 13 開始進行資料提交 ...