在POST请求中,传递的参数要以给定的格式传输,这个格式往往在请求头中会体现。列举两种常见的格式json和x-www-form-urlencoded
1. 'Content-Type': 'application/json'
2. 'Content-Type': 'application/x-www-form-urlencoded'
1.当请求格式为第一种时,很容易理解,这是要以json格式传递参数。
username = "zhangsan"
password = "Pass@word_"
userdata = {'username':username, 'password':password}
import json, requests
r = requests.post(url, data=json.dumps(userdata), headers=headers, timeout=7)
2. 当请求格式为第二种时,再传json数据就不行了,此时的办法是将参数直接跟在url后面,或者编码转换之后再传data,特别,当参数值中带特殊字符的情况,要先进行转义处理
当参数直接跟在url后面
# 参数跟在url后面
username = "zhangsan"
password = "Pass@word_"
from urllib.parse import quote
username_ = quote(username)
password_ = quote(password)
urlparam = "?username=%s&password=%s" % (username_, password_)
authurl += urlparam
import requests
r = requests.post(authurl, headers=headers, tim

本文介绍了在Python中使用POST请求传递数据的方法,包括以json和x-www-form-urlencoded格式。对于json格式,直接传递参数;而对于x-www-form-urlencoded,参数需编码处理,特别是遇到特殊字符时需要转义。
最低0.47元/天 解锁文章
728

被折叠的 条评论
为什么被折叠?



