400 Bad Request 使用邮递员复制的请求代码
Posted
技术标签:
【中文标题】400 Bad Request 使用邮递员复制的请求代码【英文标题】:400 Bad Request using postman copied request code 【发布时间】:2020-09-02 05:10:48 【问题描述】:我已经从
获取了请求代码OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
String json = String.format("'sex': %s,'age': %d,'evidence': []", gender, age);
RequestBody body = RequestBody.create(mediaType, json);
Request request = new Request.Builder()
.url("https://api.infermedica.com/covid19/diagnosis")
.post(body)
.addHeader("Content-Type", "application/json")
.addHeader("Accept", "*/*")
.addHeader("App-Id", "XXXXXX")
.addHeader("App-Key", "XXXXXXXXXXXXXXXXXXXXX")
.addHeader("User-Agent", "PostmanRuntime/7.19.0")
.addHeader("Accept", "*/*")
.addHeader("Cache-Control", "no-cache")
.addHeader("Postman-Token", "58fbac21-182b-41e0-bceb-0905d0605858,cd9580e6-f262-4440-ba33-b85877dd087c")
.addHeader("Host", "api.infermedica.com")
.addHeader("Accept-Encoding", "gzip, deflate")
.addHeader("Content-Length", "56")
.addHeader("Connection", "keep-alive")
.addHeader("cache-control", "no-cache")
.build();
com.squareup.okhttp.Response response = client.newCall(request).execute();
我正在尝试发帖请求。我已经在邮递员中成功运行了请求。我已经从邮递员那里复制了代码。但是当我在 java 中运行请求时,我得到一个 400 Bad Request。而且我不知道为什么,因为所有标题和正文都与邮递员完全相同。
【问题讨论】:
您是否尝试过不使用邮递员的所有标题?我认为不需要“Postman-Token”、“User-Agent”。可能你只需要“App-Id”和“App-Key”。 【参考方案1】:您的输入中缺少 Sex 的引号
在这里确认https://developer.infermedica.com/docs/covid-19
curl "https://api.infermedica.com/covid19/diagnosis" \
-X "POST" \
-H "App-Id: XXXXXXXX" -H "App-Key: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" \
-H "Content-Type: application/json" -d '
"sex": "male",
"age": 30,
"evidence": []
'
【讨论】:
以上是关于400 Bad Request 使用邮递员复制的请求代码的主要内容,如果未能解决你的问题,请参考以下文章
为啥我使用 Azure Graph SDK 收到 400 Bad Request?
调用 HeadObject 操作时发生客户端错误 (400):Bad Request Completed 1 part(s) with ... file(s)
使用 flask_socketio + flask + gunicorn + nginx 获得 502 bad gateway 和 400 bad request