有没有一种方法可以在Python中使用PATCH
HTTP方法发出请求?
我尝试使用httplib,但它不接受PATCH作为method参数。
有没有一种方法可以在Python中使用PATCH
HTTP方法发出请求?
我尝试使用httplib,但它不接受PATCH作为method参数。
r
呢?我只需要这样做吗 self.log.info('Response: %s' % r)
? - Hussain看起来在2.7.1中也有效。
>>> import urllib2
>>> request = urllib2.Request('http://google.com')
>>> request.get_method = lambda: 'PATCH'
>>> resp = urllib2.urlopen(request)
Traceback (most recent call last):
...
urllib2.HTTPError: HTTP Error 405: Method Not Allowed
我在 Python 3 中尝试过,似乎可以工作(但是我手头没有支持 PATCH
请求类型的服务器):
>>> import http.client
>>> c = http.client.HTTPConnection("www.google.com")
>>> r = c.request("PATCH", "/index.html")
>>> print(r.status, r.reason)
405 Method Not Allowed
HTTP 405
来自服务器,并且是“不允许”的意思。import httplib2
http = httplib2.Http()
http.request("http://www.google.com", "PATCH", <patch content>)
它支持Python 2.3或更高版本(包括3.x),并且运行效果非常好!