python3 - python requests
¿Cómo hago una solicitud de PATCH en Python? (4)
¿Hay alguna forma de realizar una solicitud utilizando el método PATCH http en Python?
Intenté usar httplib, pero no acepta PATCH como método param.
Con las solicitudes , hacer solicitudes de PATCH es muy simple:
import requests
r = requests.patch(''http://httpbin.org/patch'')
Es increíblemente simple con httplib2 :
import httplib2
http = httplib2.Http()
http.request("http://www.google.com", "PATCH", <patch content>)
Yo mismo he usado la biblioteca httplib2 en un marco profesional REST que incluye soporte PATCH. ¡Es compatible con Python 2.3 o posterior (incluido 3.x) y funciona a la perfección!
Intenté esto en Python 3, y pareció funcionar (pero no tengo un servidor a la mano que admita el tipo de solicitud 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
Supongo que el HTTP 405
proviene del servidor y que "no está permitido".
Por cierto, gracias por mostrarme el método PATCH en HTTP.
Parece que funciona en 2.7.1 también.
>>> 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