如何在Python中创建PATCH请求?

Ric*_*sto 18 python patch http httplib

有没有办法在Python中使用PATCH http方法发出请求?

我尝试使用httplib,但它不接受PATCH作为方法参数.

Ken*_*itz 22

使用请求,使PATCH请求非常简单:

import requests

r = requests.patch('http://httpbin.org/patch')
Run Code Online (Sandbox Code Playgroud)


Tra*_*sen 15

似乎也在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
Run Code Online (Sandbox Code Playgroud)


Chr*_*ris 4

我在 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
Run Code Online (Sandbox Code Playgroud)

我假设该信息HTTP 405来自服务器并且“不允许”。

顺便说一下,感谢您向我展示了 HTTP 中很酷的PATCH 方法