Python接口自動化基礎---post請求


常見的post傳遞參數的類型有以下兩種:

第一種:application/x-www-form-urlencoded,瀏覽器原生的form表單,格式如下:input1=xxx&input2=ooo

第二種:application/json ,這是常見的json格式,格式如下:{"input1":"xxx","input2":"ooo","remember":false}

 

1、以表單形式傳遞參數

只需簡單的傳遞一個字典給data關鍵字,在發送請求的時候,會自動編碼為表單的形式

param1={'username':'test','password':'123456'} r1=requests.post('http://host/login',data=param1) print(r1.text) print(r1.status_code) 結果: {"id":413,"username":"test","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InRlc3QiLCJpZCI6NDEzLCJpYXQiOjE1MDczODI1MDYsImV4cCI6MTU5Mzc4MjUwNn0.Qdexnx_x4_Vm5Mw7fPgKCUoKto4ujtLc9NTtk7hxOsE"} 200

2、以json格式傳遞參數:

想要在post請求中使用data關鍵字來傳遞json格式的字符串,首先得把dict轉為string

import requests
import json

url='http://www.tuling123.com/openapi/api'

data={'key':'4b6ce82fbe554a11b99dabfa3a4ae6d9','info':'我的城市在北京,請你記住','userid':'jxn'}
print(type(data))
json_data=json.dumps(data)
print(type(json_data))

r=requests.post(url,data=json_data)
print(r.text)
print(type(r.text))

結果:
<class 'dict'>
<class 'str'>
{"code":100000,"text":"你不是說你不喜歡我么?"}
<class 'str'>

除了可以對dict編碼后以string的方式傳遞參數外,還可以直接使用json關鍵字直接傳遞

import requests
import json

url='http://www.tuling123.com/openapi/api'

json_data={"key":"4b6ce82fbe554a11b99dabfa3a4ae6d9","info":"beijing","userid":"jxn"}
r=requests.post(url,json=json_data)
print(r.text)

結果:{"code":100000,"text":"北京"}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM