我有一个基本的卷曲,如下所示:
curl -X POST \
'https://aogt.pl/auth/' \
-H 'Authorization: Basic NGZjMjExNWQyYTZk' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'client_id=4fc2115'
当我在 Ubuntu 等控制台中运行它时,一切正常,我得到了良好的响应。现在我想使用 okhttp 将这个curl 映射到java 代码中。我写下面的代码:
public class TestMain {
private static final MediaType JSON = MediaType.parse("application/json; charset=utf-8");
public static void main(String[] args) throws IOException {
String data = "client_id=4fc2115";
RequestBody body = RequestBody.create(JSON, data);
Request request = new Request.Builder()
.url("https://aogt.pl/auth/")
.addHeader("Authorization", "Basic NGZjMjExNWQyYTZk")
.addHeader("Content-Type", "application/x-www-form-urlencoded")
.post(body)
.build();
OkHttpClient client = new OkHttpClient();
Response response = client.newCall(request).execute();
System.out.println(response.body().string());
}
}
pom 文件如下所示:
<dependencies>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>4.2.0</version>
</dependency>
</dependencies>
问题是,当我运行此代码时,我收到“400 Bad Request”,所以这是服务器的问题。我把上面的curl错误的映射成java代码变成了http。问题可能出在 POST 正文中,因为它不是 JSON,但是我需要在这里更改什么,您能告诉我出了什么问题吗?非常感谢。
斯蒂芬大帝
婷婷同学_
相关分类