Python請求外部POST請求,常見四種請求體

2021-12-29 22:31:21 字數 2150 閱讀 6097

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 開始進行資料提交 ...