1

我有嵌入 python 2.5.2 的“公司内部工具” 。这意味着我不能使用任何其他版本或编程语言。因此,HTTPLIB 的代码如下:

  connection =  httplib.HTTPSConnection('IP:PORT')
  body_content = '<INPUT><Var1>DATA</Var1></INPUT>/r/n'
  headers = {Authorization':'Basic XXXXXXXXXXXX','Accept':'text/xml','Content-Length':'XX','Host':'host name','Accept-Encoding':'gzip,deflate'}
  connection.request('PUT', '/path/method',body_content, headers)
  result = connection.getresponse()

对于 urllib2 代码如下:

  body_content = '<INPUT><Var1>DATA</Var1></INPUT>\r\n'
  opener = urllib2.build_opener(urllib2.HTTPSHandler)
  request = urllib2.Request('https://IP:PORT/path/method', data=body_content)
  request.headers={'Content-length': 'XX', 'Host': 'host', 'Accept': 'text/xml', 'Authorization': 'Basic XXXXXXXXXXXXX', 'Accept-encoding': 'gzip,deflate'}
  request.get_method = lambda: 'PUT'
  url = opener.open(request)

它们都在默认的 python 2.5.2 安装中工作正常。如果我尝试在我得到的工具中使用相同的代码,则会出现以下错误:

HTTPLIB:

'module' object has no attribute 'ssl'

URLLIB2:

urlopen error unknown url type: https

据我了解,SSL 支持已被删除。顺便说一句:我可以编写自己的库并将它们放置到正确的文件夹中以使它们工作。所以,问题是:如何使用代理连接到网络服务?我找到了以下示例: http ://www.pha.com.au/kb/index.php/Python_-_Using_a_proxy_for_HTTP_requests

但在我的情况下它不起作用。你有什么建议可以解决这个问题吗?看起来在python中构建一个单独的代理模块来执行HTTPS查询可以解决这个问题。那么,在这种情况下,连接程序是什么?

4

0 回答 0