gpt4 book ai didi

python - 如何在python中转储http请求

转载 作者:可可西里 更新时间:2023-11-01 16:43:06 25 4
gpt4 key购买 nike

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

request = urllib2.Request(url, postdata) 

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

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

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

最佳答案

Is possible to get dump of this request on client side (after this line) ? I need exactly what is sent to server (TCP dump ?)

您正在寻找 tcp 层的日志,但您实际上并没有通过 tcp 通过网络发送任何东西?

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

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

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()

输出:

send: 'POST / HTTP/1.1\r\nAccept-Encoding: identity\r\nContent-Length: 0\r\nHost: example.com\r\nUser-Agent: Python-urllib/2.7\r\nConnection: close\r\nContent-Type: application/x-www-form-urlencoded\r\nHeaderkey: HeaderValue\r\n\r\n'
reply: 'HTTP/1.1 200 OK\r\n'
[snip]

关于python - 如何在python中转储http请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22435830/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com