python使用requests通过代理地址发送application/json报文数据
2023-09-14 09:01:11 时间
通过代理地址发送 JSON 字符串数据格式(它格式要求:{"param1":"123456","param2":"123456"})请求到远程服务器,并获取请求响应报文。建议沟通开发确认数据格式。该请求消息头的"Content-Type"字段为 "application/json; charset=UTF-8"。用户可以根据需要新增请求头字段,只需传入请求头中待新增的除了'Content-Type'字段外的其他字段数据。
def client_post_jsondata_proxy_requests(self,request_url,requestJSONdata,headerdict={},**kwargs): #功能说明:通过代理地址发送json请求报文到指定的地址并获取请求响应报文 #输入参数说明:接收请求的URL,请求报文数据,格式为:{"param1":"123456","param2":"123456"}、待添加到请求头中的字段值组成的字典,默认为{},表示不新增字段、http或者https请求代理地址组成的字典,格式例如为{'http': 'http://192.168.111.222:8888', 'https': 'http://192.168.333.444:8888'}。 #输出参数:请求响应报文 #by xiaocc[20180709] #从构造的请求报文文件中获取请求报文数据 requestJSONdata=str(requestJSONdata).replace("+", "%2B") requestdata=requestJSONdata.encode("utf-8") head = {'Content-Type': 'application/json; charset=UTF-8', 'Connection': 'close'} print u'请求头待更新的数据:',headerdict,u'该数据类型为:',type(headerdict) #比对输入的header与默认的head,根据输入要求更新请求头 if headerdict=='{}':#若未传入更新的请求头数据,则选择默认请求头 pass elif type(headerdict) in (dict,): #若传入的更新的请求头数据为字典格式,则更新到默认请求头 for key in headerdict: #判断待添加到默认head中的键值对 head[key]=headerdict[key] #根据输入更新默认head数据 else: logging.error(u'请确保输入的请求头更新数据格式为字典格式!' ) raise Exception print '服务器接收请求报文的地址为:',request_url print '客户端请求JSON报文数据为(客户端 --> 服务器):\n',requestdata proxyurl= kwargs['proxyurl'] print u'请求代理地址为:',proxyurl #发送请求报文到服务端 r = requests.post(request_url,data=requestdata,headers=head,proxies=proxyurl,verify=False) print '请求头headers为: ',r.request.headers #获取请求响应报文数据 responsedata=r.text print "get the status: ",r.status_code print '服务器响应报文为(客户端 <-- 服务器): ',responsedata #返回请求响应报文 return responsedata
相关文章
- Rabbitmq的connection连接池(Python版)
- Python爬虫之反爬虫(随机user-agent,获取代理ip,检测代理ip可用性)
- 第一个python网络爬虫总结
- 第三百四十八节,Python分布式爬虫打造搜索引擎Scrapy精讲—通过自定义中间件全局随机更换代理IP
- Python - 获取帮助信息
- python使用requests通过代理地址发送application/x-www-form-urlencoded报文数据
- python使用redis实现ip代理池
- [Python] Generates permutations
- python使用requests通过代理地址发送text/xml报文数据
- Python每日一练(20230303)
- Python爬虫开发:requests库的使用--ip代理参数的设置
- Atitit.http代理的实现 代码java php c# python
- 华为OD机试 - 最优高铁城市修建方案(Java & JS & Python)
- Python实现IP代理批量采集, 并检测代理是否可用 保存一下<嫖一波免费代理>
- Python采集去哪儿旅游攻略(爬虫+数据分析),快过年了,这不得全家一起出去玩一次
- Python学习27:高阶函数
- Python获取免费的可用代理
- python 设计模式之代理模式
- python XML文件解析:用ElementTree解析XML
- Python学习流程