Я пытаюсь отправить запрос на исправление базы данных с использованием библиотеки urllib и urllib2 в python 2.7 (поскольку я не могу использовать библиотеку запросов, потому что она не работает на этом сервере, и никто не нашел решения для этого, поэтому, пожалуйста, не предлагайте запросы, потому что этот путь уже закрыт).
Код выглядит так:
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
, класс запроса автоматически отправляет запрос get, который имеет ответ 200, так что я предполагаю, что это не имеет отношения к авторизации и учетным данным. Использование Python 3 и библиотеки urllib.request также работает, поэтому сервер обязательно принимает запросы PATCH.
Я надеюсь, что кто-нибудь может найти решение ... Я не могу представить, почему это происходит.
Обновление решено: я обнаружил, что проблема связана с URL-адресом, по которому я делал запрос.