我有一臺服務器,我必須先登錄(第一個URL),然後我會發送另一個POST請求(第二個URL),但是這個帖子請求只能在我仍然登錄時才能完成。如何使用URL 2的POST請求仍然被記錄?如何在一個HTTPconnection中創建多個請求?
下面是代碼:
HttpURLConnection con=(HttpURLConnection) new URL("http://Login(URL1)").openConnection();
String headerName=null; String cookie=null;
for (int i=1; (headerName = con.getHeaderFieldKey(i))!=null; i++) {
if (headerName.equals("Set-Cookie"))
cookie = con.getHeaderField(i);
}
cookie = cookie.substring(0, cookie.indexOf(";"));
String cookieName = cookie.substring(0, cookie.indexOf("="));
String cookieValue = cookie.substring(cookie.indexOf("=") + 1, cookie.length());
System.out.println(cookieName);
System.out.println(cookieValue);
con=(HttpURLConnection) new URL("http://Login(URL1)").openConnection();
con.setRequestMethod("POST");
con.setRequestProperty("Cookie", "session_id=" + cookieValue);
con.setDoInput(true);
con.setDoOutput(true);
PrintWriter writer = new PrintWriter(con.getOutputStream());
String account = "sdfsdf";
String password = "sddfdsf";
writer.println("&username=" + account + "&password=" + password + "&action=do_login&http=1");
writer.close();
System.err.println(con.getResponseCode());
BufferedReader reader=new BufferedReader(new InputStreamReader(con.getInputStream()));
String response;
while ((response=reader.readLine())!=null) {
System.out.println(response);
}
reader.close();
con=(HttpURLConnection) new URL("http://POST Request URL").openConnection();
con.setRequestMethod("POST")
沒有'HTTPConnection'這樣的東西。你的意思是'HttpURLConnection'嗎? – EJP