Как сделать запрос PATCH в Python? Есть ли способ сделать запрос, используя HTTP-метод PATCH в Python? Я пытался использовать httplib, но он не принимает PATCH в качестве параметра метода. Ответ 1 С помощью запросов запросы PATCH очень просты: import requests r = requests.patch('http://httpbin.org/patch') Ответ 2 Кажется, работает и в 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 Ответ 3 Я попробовал это на 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 поступает с сервера и что он "не разрешен". Кстати, спасибо, что продемонстрировали мне классный метод PATCH в HTTP. Ответ 4 Это невероятно просто с httplib2: import httplib2 http = httplib2.Http() http.request("http://www.google.com", "PATCH", <patch content>) Я сам использовал библиотеку httplib2 в профессиональной среде REST, которая включает поддержку PATCH. Он поддерживает Python 2.3 или более поздней версии (включая 3.x) и прекрасно работает!
Ответ 1 С помощью запросов запросы PATCH очень просты: import requests r = requests.patch('http://httpbin.org/patch')
Ответ 2 Кажется, работает и в 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
Ответ 3 Я попробовал это на 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 поступает с сервера и что он "не разрешен". Кстати, спасибо, что продемонстрировали мне классный метод PATCH в HTTP.
Ответ 4 Это невероятно просто с httplib2: import httplib2 http = httplib2.Http() http.request("http://www.google.com", "PATCH", <patch content>) Я сам использовал библиотеку httplib2 в профессиональной среде REST, которая включает поддержку PATCH. Он поддерживает Python 2.3 или более поздней версии (включая 3.x) и прекрасно работает!