我需要发送一个包含以下格式数据的请求:
parameterss = urlencode({'various': 'credentials', ... ,
'xmlquery': '<?xml version="1.0" encoding="UTF-8"?> \
<query>...</query>'})
通常,它包含一个 XML 查询。假设我希望它发送的服务器是https://some/server
并且我的代理是proxy:port_number
. 我尝试通过以下方式使用httplib2
with :SocksiPy
import httplib2, socks
from urllib import urlencode
proxy = httplib2.ProxyInfo(proxy_type=socks.PROXY_TYPE_HTTP, proxy_host='proxy', proxy_port=port_number)
http = httplib2.Http(proxy_info=proxy)
response, content = http.request("https://some/server", "POST", parameters)
print response
它有效,但响应不是预期的。显然是因为我需要使用 HTTPS 代理(这是相同的)。我没有任何证书信息 - 类似的工作 Perl 脚本不使用,它将代理定义为环境变量。SocksiPy
hasPROXY_TYPE_SOCKS4
和PROXY_TYPE_SOCKS5
constants 但是,我不知道如何使用它们(不定义证书会引发异常)。请指出我如何做到这一点。
也许它适合使用httplib
with xmlrpclib
?如何定义这些并放在一起工作?