如何在python中转储http请求

时间:2014-03-16 10:42:05

标签: python http urllib2

我在我的应用程序中使用http。

request = urllib2.Request(url, postdata) 

是否可以在客户端转储此请求(在此行之后)?

我确切地需要发送到服务器的内容(TCP转储?),所以

POST url HTTP/version\r\nHeaderKey: HeaderValue\r\n....

1 个答案:

答案 0 :(得分:0)

  

可以在客户端转储此请求(在此之后   线)?我需要发送到服务器的确切内容(TCP转储?)

您正在寻找tcp层的日志,但您实际上没有通过tcp通过线路发送任何内容?

您所做的就是创建一个Request对象。

如果您要发送您创建的请求,您可以在处理程序中启用调试并查看已发送和已接收的标头/数据:

upsert:true

输出中:

import httplib
import urllib
import urllib2

url = 'http://example.com'
headers = {'HeaderKey': 'HeaderValue'}
data = urllib.urlencode({})
request = urllib2.Request(url, headers=headers, data=data)
handler = urllib2.HTTPHandler()
handler.set_http_debuglevel(1)
opener = urllib2.build_opener(handler)
response = opener.open(request)
response.read()
response.close()