我应该如何在python中使用自定义方法发送HTTP请求

时间:2017-02-08 19:35:01

标签: python curl

我需要将自定义方法的HTTP请求发送到自定义服务器。我一直在谷歌搜索在python中执行curl命令,大多数时候我发现:

  

不要那样做!

我需要执行以下curl命令:

curl -X MUX -i -H "Connection-Service: API" -H "Service-Address: API" http://172.16.117.40

我一直在尝试使用python中的请求库而没有运气。

1 个答案:

答案 0 :(得分:1)

我从各种stackoverflow答案构建了这个解决方案:

import httplib, urllib2

httplib.HTTPConnection._http_vsn = 10
httplib.HTTPConnection._http_vsn_str = 'HTTP/1.0'
opener = urllib2.build_opener(urllib2.HTTPHandler)
request = urllib2.Request(self.url)
request.add_header('Connection-Service', 'API')
request.add_header('Service-Address', 'API')
request.get_method = lambda: 'MUX'
url = opener.open(request)
url.info().getheader('API')

它作为curl命令发布在问题中,我不需要搞乱实际的命令。