【发布时间】:2019-06-12 21:58:50
【问题描述】:
我正在尝试使用 python 2.7 中的 urllib 和 urllib2 库向数据库发送补丁请求(因为我无法使用请求库,因为它在此服务器中不起作用并且没有人找到解决方案,所以请不要建议请求,因为该路径已经关闭)。
代码如下:
data={"name":"whatever name"}
data=urllib.urlencode(data,'utf-8')#Encoding the dictionary of the data to make the request
req=urllib2.Request(url=next_url,headers={"Authorization": auth_header,"Content-Type": "application/json"})#Creating a request object of urllib library
req.add_data=data
req.get_method = lambda: 'PATCH'
resp = urllib2.urlopen(req)
如果不同时分配 req.get_method=lambda: 'PATCH' , req.add_data=data 请求类会自动发送一个有 200 响应的 get 请求,所以我猜它与授权和凭据无关。使用 python 3 和 urllib.request 库也可以,因此服务器肯定会接受 PATCH 请求。
我希望任何人都能找到解决方案...我无法想象为什么会发生这种情况。
更新已解决:我发现问题与我提出请求的网址有关。
【问题讨论】:
标签: python python-2.7 request