我正在尝试将一些登录数据发布到表单中,以便从响应中获取 cookie。 网址是:https://www.deviantart.com/users/login
但是我无法让服务器返回 FOUND 302,但只返回 200,所以我认为我以某种方式破坏了我的查询字符串或 header :
try {
String query = URLEncoder.encode("&username="+user+"&password="+password+"&remember_me=1", "UTF-8");
URL url = new URL("https://www.deviantart.com/users/login");
HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
HttpsURLConnection.setFollowRedirects(false);
conn.setRequestMethod("POST");
conn.setRequestProperty("Host", "www.deviantart.com");
conn.setRequestProperty("User-Agent", "Mozilla 4.0");
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
conn.setRequestProperty("Content-Length", String.valueOf(query.length()));
conn.setRequestProperty("Content-Language", "en-US");
conn.setUseCaches(false);
conn.setDoOutput(true);
conn.setDoInput(true);
PrintWriter out = new PrintWriter(conn.getOutputStream(), false);
out.write(query);
out.flush();
最佳答案
据我所知,得到响应“200”是正常的,意味着您的请求已被识别并得到正确答复。
但是当我需要了解 HTTP 代码响应和一些详细信息时,我通常使用此链接:http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html .
希望对你有帮助...
关于Java POST HTTPsUrlConnection 返回 200 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5334211/