Как отправить запрос django на внешний сервер

Привет, поэтому у меня есть этот метод в представлениях Django, чтобы отправить файл на другой сервер. Я получаю сообщение об ошибке HTTP 415 с жалобой на тип носителя запроса. Я отладил запрос, скопировал и вставил его содержимое в fiddler. Когда я выложил то же самое из скрипача, это сработало. Так что я неЯ не понимаю, почему он не работает с использованием пакета запросов Python.

Кто-нибудь может мне с этим помочь?

Благодарю.

def upload(request):
    if request.method == 'POST':
        url=settings.WEBSERVICES_URL+'validate'
        r = requests.post('http://localhost:9090/validate',data=request)
        r2 = requests.get('http://localhost:9090/test')
        return render_to_response("upload.html", context_instance=RequestContext(request))
    else:
        return render_to_response("upload.html", context_instance=RequestContext(request))

Ответы на вопрос(2)

r = requests.post('http://localhost:9090/validate', data=request.POST)

Вы проходите полныйdjango.http.HttpRequest Возражатьrequests.post, когда вам нужны только свои почтовые данные.

 Nathan Drake01 июн. 2013 г., 02:21
Привет, спасибо за ваш ответ. Проблема в том, что POST-URL, который является localhost: 8000, не заменяется при вызове request.post. Поскольку форма отправляется на localhost: 8000 / upload изначально, чтобы достичь метода загрузки в представлениях, URL-адрес POST неверен. Я ожидаю, что запросы заменит его, но это не так

документирование запросов это говорит оdata ключевое слово:

данные - (необязательно) Словарь, байты или файлоподобный объект для отправки в теле запроса.

Джангоrequest объект является экземпляромHttpRequest. Вы должны попытаться поместить необходимые данные в словарь и передать их.post()

Ваш ответ на вопрос