大家好,我在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))
答案 0 :(得分:3)
这样做:
r = requests.post('http://localhost:9090/validate', data=request.POST)
当您只需要其发布数据时,您正在将完整的django.http.HttpRequest
对象传递给requests.post
。
答案 1 :(得分:0)
如果您查看关于data
关键字的documentation of requests:
数据 - (可选)要在请求正文中发送的字典,字节或类文件对象。
Django的request
对象是HttpRequest
的一个实例。您应该尝试将必要的数据放入字典中并将其传递给post()
。