python 调试库_python-如何调试请求库?

http响应的剖析

示例(加载此页面)

HTTP/1.1 200 OK

Cache-Control: public, max-age=60

Content-Type: text/html; charset=utf-8

Content-Encoding: gzip

Expires: Fri, 27 Sep 2013 19:22:41 GMT

Last-Modified: Fri, 27 Sep 2013 19:21:41 GMT

Vary: *

X-Frame-Options: SAMEORIGIN

Date: Fri, 27 Sep 2013 19:21:41 GMT

Content-Length: 12706

... truncated rest of body ...

>第一行是状态行,由状态代码和状态文本组成.

>标头是键/值对.标头以空的新行结束.空行表示没有更多的标头,并且紧随其后的是有效负载/主体.

>正文将消耗其余的消息.

下面说明如何提取这三个部分:

状态线

使用以下命令获取从服务器发送回的状态行

>>> bad_r = requests.get('http://httpbin.org/status/404')

>>> bad_r.status_code

404

>>> bad_r.raise_for_status()

Traceback (most recent call last):

File "requests/models.py", line 832, in raise_for_status

raise http_error

requests.exceptions.HTTPError: 404 Client Error

标头:

r = requests.get('http://en.wikipedia.org/wiki/Monty_Python')

# response headers:

r.headers

# request headers:

r.request.headers

身体

使用r.text.

发布请求编码

您在请求中发送给服务器的“内容类型”应与您实际发送的内容类型匹配.在您的情况下,您正在发送json,但告诉服务器您正在发送表单数据(如果未指定,则为默认值).

从上面显示的标题中:

“ Content-Type”:“应用程序/ x-www-form-urlencoded”,

但是您的request.post调用设置了data = json.dumps(data),它是JSON.标头应显示:

“ Content-type”:“ application / json”,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值