requests库的两个注意事项

分享
计算机软件开发 2024-10-4 08:36:19 59 0 来自 中国
项目中,需要用requests库从服务端获取数据,踩到两个坑,记录一下。
首先是,如果直接用 requests.post(url,data=data),总是得不到正确的响应。其实,这个坑之前就踩过, 我还特意记录了 requests 库踩坑,结果这次还是忘了这个教训。看来有些坑,需要多踩几次才能印象深刻。
原因总结如下:
requests 如果收到 data 参数,则默认用表单形式发出data,如果收到 json 参数,则默认用json格式发送。如果想用 data 参数发送json,那就必须先手动用 json.dump() 转换数据, 然后指定headers的类型为 application/json .
另一个坑是速度太慢。我需要多次从同一个接口获取数据,测试了一下,发现一次requests请求,居然耗时接近两秒多,太不可思议了。这个坑,之前也踩过,第一时间想到应该用 Http Keep-Alive 来优化。利用session机制,与服务之间建立TCP连接复用,这样能够大大降低时间开销。
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-10-18 16:49, Processed in 0.128335 second(s), 32 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表