#python #django #post #python-requests #celery
#python #django #Публикация #python-запросы #сельдерей
Вопрос:
У меня есть веб-сайт, использующий http, и все работало, но теперь я обновляю http до протокола https, и я получаю следующую проблему в задаче celery :
b'{"detail":"Method \"GET\" no allowed."}'
Это моя строка с использованием post :
requests.post('https://localhost/api/update', data=data, headers={'Content-Type': 'application/json'})
Я не понимаю, почему у меня проблема с методом GET, зная, что я использую метод POST.
Не могли бы вы мне помочь, пожалуйста?
Большое вам спасибо!
Комментарии:
1. Связано ли это со всеми веб-сайтами или только с одним конкретным? Можете ли вы попробовать отправить такой запрос в корзину по адресу requestbin.com и подтвердите, что ошибка также присутствует? Я подозреваю, что веб-сайт, на который вы звоните, имеет проблему.
2. Это связано только с моим веб-сайтом, который я разработал с использованием Django.
3. Ах, тогда я подозреваю проблему с localhost и https, где вы не можете обслуживать ssl-файлы с места в карьер. Можете ли вы попробовать отправить вызов подобным образом и сообщить об этом?
requests.post('/api/update',...
4. Я только что пробовал, но это не работает:/ Я думаю, проблема в обновлении с HTTP на HTTPS :/
5. У меня была та же ошибка :/
Ответ №1:
Возможно, API перенаправляет вас.
Попробуйте параметр
allow_redirects=false
в вашем запросе и посмотрите, что произойдет.
Или попробуйте
response.history
для получения дополнительной информации.