我有一个watson实例,它可以很好地与cURL配合使用
curl -X POST -u "apikey:skjfdk" --form "images_file=@newpot.jpg" "https://gateway.watsonplatform.net/visual-recognition/api/v3/classify?version=2018-03-19&&classifier_ids=myclassifier"
{
"images": [
{
"classifiers": [
{
"classifier_id": "myclassifier",
"name": "myclassifier",
"classes": [
{
"class": "pot",
"score": 0.905
}
]
}
],
"image": "newpot.jpg"
}
],
"images_processed": 1,
"custom_classes": 4
}但是当我通过REST客户端或简单的Javascript ajax表单上传访问它时,它会给出这个错误。可能的原因是什么?我确信我没有像错误声明的那样在请求中添加任何额外的标头。我的rest客户端的附加屏幕截图
{
"images": [
{
"image": "newpot.jpg",
"error": {
"code": 400,
"description": "Invalid Request: vr.Classifier/classify: INVALID_ARGUMENT: Accept-Language header must be a supported 2 letter ISO 639-1 language code or 5 letter ITEF BPC 47 language code. Received 'en-u-rg-uszzzz'"
}
}
],
"images_processed": 1
}

发布于 2019-01-19 00:34:06
这看起来像是Accept-Language头的特定于区域设置的区域覆盖。它一定是以某种方式被发送出去了。
检查Postman的控制台;您可能会看到正在发送accept-language标头。您还可以显式地包含具有不同值的标头(例如,de),以查看是否获得不同的行为。
发布于 2019-01-20 06:18:30
就像Allen写的那样,postman显然是在插入一个默认的语言标题,但巧合的是,我们有一个错误,曲解了这个标题。已于1月18日星期五部署了修复程序。此行为不应再次发生。
https://stackoverflow.com/questions/54253644
复制相似问题