我正在尝试使用 HTTPURLConnection (java) 自动化登录过程,但是在发出 HTTP POST 请求时我还需要发布 cookie ..但是如何让 cookie 发布
我首先在该登录网址上发出了一个 get http 请求,并尝试获取所有 header 字段,但从那里我也没有获取 cookie
HttpURLConnection urlConnection = null;
try {
urlConnection = (HttpURLConnection) instaL.openConnection();
urlConnection.setRequestMethod("GET");
urlConnection.setRequestProperty("Host","www.instagram.com");
urlConnection.setRequestProperty("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0");
urlConnection.setRequestProperty("Accept","text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
urlConnection.setRequestProperty("Accept-Language","en-US,en;q=0.5");
urlConnection.setRequestProperty("Enocding","gzip, deflate, br");
urlConnection.setRequestProperty("Connection","keep-alive");
urlConnection.setRequestProperty("Upgrade-Insecure-Requests","1");
urlConnection.connect();
Map<String, List<String>> header = urlConnection.getHeaderFields();
for (Map.Entry<String,List<String>> entry : header.entrySet()) {
String key = entry.getKey();
List<String> value = entry.getValue();
System.out.println("-------------Key "+key);
for (String string : value){
System.out.println("value = "+value);
}
}
} catch (Exception e) {
System.out.println("Exception "+e.toString());
}
}
我没有获取 cookie 如何获取它,以便我可以使用它并将其发布到 POST 请求中进行登录
最佳答案
您可以通过以下方式进行。
如果您只发送一个 cookie,则必须按照下面的说明进行操作。
String cookie = "cookieName=cookieValue";
urlConnection.setRequestProperty("Cookie", myCookie);
如果您要发送多个 cookie,则必须这样做。
urlConnection.setRequestProperty("Cookie", "name1=value1; name2=value2");
关于java - 如何在java中发出HTTP post请求登录时获取cookie并发布它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56504763/