在在线服务中,javascript使用新的表单数据来获取图像,然后通过一个简单的api调用来检索使用此代码的对象。
function sendSearchImage(form) {
console.log(">>> sendSearchImage");
var image = new FormData();
image.append('refImage', readFile);
$.ajax({
type: 'post',
url: instore_home + '/products/query',
contentType: false,
processData: false,
data: image,
success: function (response) {
console.log("<<< " + JSON.stringify(response));
showQueryResults(response);
//alert("Ref image successfully added: code " + response.refImgId);
//alert(JSON.stringify(response));
//window.location.reload();
}
});
return false;
}
我希望在python中调用相同的API,但我一直得到400:错误的请求响应,这是我的代码到现在为止
files = {'refImage': ('1.jpg', open(os.getcwd()+"/images/1.jpg", "rb"), 'image/jpeg')}
headers = {"Content-Type":"multipart/form-data", "User-Agent" : "Mozilla/5.0"}
r = requests.post('Url', headers=headers, data=files)
有人可以告诉我,我应该以哪种格式传递数据以获得良好的响应?
答案 0 :(得分:0)
可能是您用来访问网页的用户代理。请在header变量中使用此标头:
headers = {"Content-Type":"multipart/form-data","User-Agent" : "Mozilla/5.0"}
答案 1 :(得分:0)
我通过不指定标题解决了我的疑问,它似乎是自动构建的,并且通过手动实现,您可能无法获得所有正确的价值,因为其中一些甚至是动态的。