21

PATCHPythonでHTTPメソッドを使用してリクエストを行う方法はありますか?

httplibを使用してみましたが、メソッドparamとしてPATCHを受け入れません。

4

4 に答える 4

24

Requestsを使用すると、 PATCH リクエストを作成するのは非常に簡単です。

import requests

r = requests.patch('http://httpbin.org/patch')
于 2011-08-18T18:41:40.513 に答える
16

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
于 2012-01-26T18:07:14.707 に答える
4

PATCH私はこれを Python 3 で試しましたが、動作しているように見えました (ただし、リクエスト タイプをサポートするサーバーが手元にありません)。

>>> 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はサーバーからのものであり、「許可されていない」と想定しています。

ところで、HTTPのクールなPATCH メソッドを見せてくれてありがとう。

于 2011-08-11T18:54:27.790 に答える
2

httplib2を使用すると、非常に簡単です。

import httplib2

http = httplib2.Http()
http.request("http://www.google.com", "PATCH", <patch content>)

私は、PATCH サポートを含む専門的な REST フレームワークで httplib2 ライブラリを自分で使用しました。Python 2.3 以降 (3.x を含む) をサポートし、美しく動作します!

于 2012-05-03T17:37:30.523 に答える