busyfish 发表于 2022-5-29 20:14:46

python requests获取数据的问题。

我有一个业务系统,在网页上可以输入照单号导出相应的数据,导出的文件格式为csv。
现在我想用python脚本来实现自动化导数,但是遇到了问题。用fiddler抓包发现使用的是post方法,代码如下,返回状态码200,但是没有任何返回内容。
url="http://****************exportParam"
headers={key:value} # 省略header的内容
params={"bills":billstr,data:{key:value}} # params是一个嵌套字典,其中billstr是要查询的单号拼接而成的字符串
resp=session.post(url=url,data=json.dumps(params),headers=header)
print(resp)
于是抱着侥幸心态把post改为了get,正常返回数据,,但是只能查询大约250个单号,超过后就会报错requests.exceptions.ChunkedEncodingError,代码如下:

headers={key:value} # 省略header的内容
params={"bills":billstr,data:{key:value}} # params是一个嵌套字典,其中billstr是要查询的单号拼接而成的字符串
url="http://****************exportParam?"+urlencode(params)
resp=session.get(url=url,headers=header)
print(resp)

为什么明明抓包是post方法传递的params参数,最后却只能用get构造方法才能返回数据,而且超过一定长度后就无法返回数据了,有大神帮忙解答一下吗?

wp231957 发表于 2022-5-31 07:15:46

get本身就有大小的限制
所以你要确定到底是get还是post

busyfish 发表于 2022-6-2 08:09:57

wp231957 发表于 2022-5-31 07:15
get本身就有大小的限制
所以你要确定到底是get还是post

Get的长度一般限制再多长呢

wp231957 发表于 2022-6-2 08:36:55

busyfish 发表于 2022-6-2 08:09
Get的长度一般限制再多长呢

各个浏览器都不一样
ie是2000左右个字节
火狐是6万多一些
谷歌是8000左右字节

busyfish 发表于 2022-6-8 09:00:27

谢谢
页: [1]
查看完整版本: python requests获取数据的问题。