我需要将自定义方法的HTTP请求发送到自定义服务器。我一直在谷歌搜索在python中执行curl命令,大多数时候我发现:
不要那样做!
我需要执行以下curl命令:
curl -X MUX -i -H "Connection-Service: API" -H "Service-Address: API" http://172.16.117.40
我一直在尝试使用python中的请求库而没有运气。
答案 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命令发布在问题中,我不需要搞乱实际的命令。