Python使用requests库发送POST请求报AttributeError错误求助
问题根因
你代码中headers参数传入了字符串类型的User-Agent值,而requests库要求headers参数必须为字典格式,报错触发在requests内部遍历请求头键值对时,尝试调用字符串不存在的items()方法,直接抛出属性异常。
修复代码
import requests url = "https://tracking.post.ir/" # 将headers改为字典格式,指定键为User-Agent headers = { "User-Agent": "Mozilla/5.0 (Linux; Android 7.0.0; SM-G960F Build/R16NW) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.84 Mobile Safari/537.36" } # 注意:此处dat需要替换为目标站点实际要求的POST参数,不要直接用测试值 dat = {"test": "test"} response = requests.post(url, data=dat, headers=headers) # 打印响应内容验证请求是否成功 print(response.text)
额外注意事项
- 当前测试用的
dat参数是随意填写的,你需要根据目标站点的接口要求,替换为实际需要提交的表单字段,否则请求即使不报错也拿不到预期的返回结果 - 可以先通过浏览器开发者工具的「网络」标签,查看正常提交请求时携带的表单参数、其他请求头(比如Referer、Cookie等),按需补充到请求参数中,避免被站点反爬拦截
内容的提问来源于stack exchange,提问作者gohtogoogle ridamtogoogle
相关产品推荐
相关产品推荐

