java - 请求不适用于 HttpURLConnection 但适用于其他 HTTP 客户端

标签 java http post connection httpurlconnection

OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
        .url("http://some.cz/url")
        .post(new FormBody.Builder().build())
        .addHeader("Jenkins-Crumb", "325asdfse534")
        .addHeader("Authorization", "Basic 5645762535t")
        .addHeader("Cache-Control", "no-cache")
        .addHeader("Postman-Token", "563b8065-87b0-47a4-b9af-eaaeaaab4bb0")
        .build();
System.out.println("response.code() = " + client.newCall(request).execute().code());

使用此代码,状态代码为 200

HttpURLConnection connection = (HttpURLConnection)
        new URL("http://some.cz/url").openConnection();
connection.setRequestProperty("Jenkins-Crumb", "325asdfse534");
connection.setRequestProperty("Authorization", "Basic 5645762535t");
connection.setRequestProperty("Cache-Control", "no-cache");
connection.setRequestProperty("Postman-Token", "563b8065-87b0-47a4-b9af-eaaeaaab4bb0");
connection.setDoOutput(true);
connection.setRequestMethod("POST");
connection.getOutputStream().write(new byte[0]);
System.out.println("connection.getResponseCode() = " + connection.getResponseCode());

这里的状态码是403。有什么区别?

最佳答案

尝试添加

connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");

关于java - 请求不适用于 HttpURLConnection 但适用于其他 HTTP 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49508730/

相关文章:

java - 哪种方法更新数据库更好?

Javascript 图像 - 响应中的访问 header

python - 真的可以用 python 发布文件吗?

http - Node.js:获取响应时间

PHP 如何处理使用 mod_rewrite 的单个入口点站点上不存在的 URL

php - ModSecurity 最大发布限制(PCRE 限制错误)

json - 将Curl转换为Invoke-RestMethod

java - Hibernate - BigDecimal 映射精度

java - 从数组列表中获取数组项

java - 类似于 Android 中的 CalendarView 向上和向下滚动