requests python3 example cliente python http patch httplib

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.



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