如何检查Python HTTP客户端的网络通信?
我正在尝试找出一个错误,这个错误可能出现在Python的httplib2 HTTP客户端或者某个API上。(我猜可能是API的问题。)在使用httplib2向一个RESTful API发送数据时,我收到了401的响应状态(表示没有授权),但数据却成功保存到了API上。
我想查看发送给客户端的HTTP请求和响应,也就是那些发送到网络上和从网络上接收到的字符串。httplib2的代码看起来太复杂了,可能不容易从中捕捉到这些值,而且可能会漏掉错误。
我觉得直接查看客户端与网络之间的通信会更快。有没有什么工具可以用来监控客户端与本地网络插座之间的通信呢?
2 个回答
2
http://www.wireshark.org/ 这个网站可以让你监控本地的网络连接。我在Windows上也能通过一些小技巧监控本地的回环连接。
http://wiki.wireshark.org/CaptureSetup/Loopback 这里可以查看其他的替代方案。
或者,你也可以自己写一个简单的套接字服务器,让它在一个端口上监听客户端的连接,同时在另一个端口上发送数据到服务器,反之亦然,并且打印出所有的数据。这样写的代码不会超过十几行。
4
我用http://www.charlesproxy.com这个工具来调试我的网络问题。