时间:2021-05-22
问题:最新在爬取某站点的时候,发现在post请求当中,参数构造正确却获取不到数据,索性将post的参数urlencode之后放到post请求的url后面变成get请求,结果成功获取到数据,对此展开疑问。
Ajax post请求中常用的两种参数形式:form data 和 request payload
get请求的时候,我们的参数直接反映在url里面,为key1=value1&key2=value2形式,如果是post请求,那么表单参数是在请求体中,也是以key1=value1&key2=value2的形式在请求体中。通过chrome的开发者工具可以看到如下
a.Form Data类型:
这种情况有两种处理方式,一个是把这个post请求变成get请求,即把请求参数通过"?key1=value1&key2=value2"拼接在url当中,然后以get方式请求就可以了:response = requests.get(url,headers=headers),其中url为拼接的url
另一种是仍然用post请求,将参数放在data中:response = requests.post(url,headers=headers,data=data),其中url为post url.
注意上图中红圈内的内容,这里请求头中的Content-Type为application/x-/questions/10494574/what-is-the-difference-between-form-data-and-request-payload
到此这篇关于详解python requests中的post请求的参数问题的文章就介绍到这了,更多相关python requests post请求参数内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
情景是这样的:在C#中调用python脚本进行post请求,python脚本中使用了requests包。Python的开发环境我们有比较多的选择,pycharm
前言在Python爬虫中,使用requests发送请求,访问指定网站,是常见的做法。一般是发送GET请求或者POST请求,对于GET请求没有什么好说的,而发送P
react中的ajax封装实例详解代码块**opts:{'可选参数'}**method:请求方式:GET/POST,默认值:'GET';**url:发送请求的地
详解Retrofit动态参数(非固定参数、非必须参数)(Get、Post请求)关键词:Retrofit动态参数、非固定参数、非必须参数有如下场景:请求数据时:1
python中使用requests模块http请求时,发现中文参数不会自动的URL编码,并且没有找到类似urllib(python3)模块中urllib.par