如何使用Python执行x-http请求(客户端)

时间:2012-11-18 12:56:47

标签: python

我正在尝试使用Python重现用Charles(Web调试代理)捕获的x-http请求,但我找不到任何文档(或者不知道要查找的内容或位置)。

1 个答案:

答案 0 :(得分:2)

我会使用requests library来实现这一点,因为它可以使这些任务变得更容易。

您捕获的请求似乎是在发布JSON数据,尽管有text/javascript内容类型:

import requests
import json

headers = {'Content-Type': 'text/javascript;charset=utf-8')
data = json.dumps({'mod': 'calendar.field', 'action': 'mini', 'vars': {"current": 0}})
r = requests.post('http://www.kavka.be/xhttp.mod', data=data, headers=headers)

其中data是根据与代理捕获的POST相同的信息创建的JSON字符串。

或者,如果您只想使用标准库,请使用urllib2

import urllib2
import json

headers = {'Content-Type': 'text/javascript;charset=utf-8')
data = json.dumps({'mod': 'calendar.field', 'action': 'mini', 'vars': {"current": 0}})
req = urllib2.Request('http://www.kavka.be/xhttp.mod', data, headers)
r = urllib2.urlopen(req)