我正在尝试使用HTTPURLConnection(java)自动化登录过程,但是在发出HTTP POST请求时,我还需要发布cookie。但是如何获取该cookie才能发布
我首先在该登录网址上发出了get http请求,并尝试获取所有标头字段,但从那里我也没有得到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请求中进行登录
答案 0 :(得分:0)
您可以按照以下方式进行操作。
如果仅发送一个cookie,则必须按照以下说明进行操作。
String cookie = "cookieName=cookieValue";
urlConnection.setRequestProperty("Cookie", myCookie);
如果要发送多个Cookie,则必须这样做。
urlConnection.setRequestProperty("Cookie", "name1=value1; name2=value2");