1
- この上で正常に動作しますが、私は確立された接続からクッキーを取得しようとしています後にNullPointer例外 - 2.3上と
の下部を参照してください、解決されます。次のコードはうまく動作しますが、それは、Android 2.2と低い上にNullPointer例外私をスロー:
URL url = new URL("https://myloginform");
trustAllHosts(); //because the certificate is not singed
HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
conn.setHostnameVerifier(DO_NOT_VERIFY);
conn.setInstanceFollowRedirects(false);
conn.setDoOutput(true);
//Connect to login-page and send login data
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(data);
wr.flush();
wr.close();
//get cookies THIS WORKS ONLY ON ANDROID 2.3 AND ABOVE
List<String> cookies = conn.getHeaderFields().get("Set-Cookie");
conn.disconnect();
//connect to overview page
url = new URL("https://mynextpage");
trustAllHosts();
conn = (HttpsURLConnection) url.openConnection();
conn.setHostnameVerifier(DO_NOT_VERIFY);
conn.setInstanceFollowRedirects(false);
//Send cookies for identification - THIS WILL THROW A NULLPOINTER EXCEPTION
for (String cookie : cookies) {
conn.addRequestProperty("Cookie", cookie.split(";", 2)[0]);
}
// Get the response
BufferedReader rd = new BufferedReader(new InputStreamReader(
conn.getInputStream()));
while (!(line2.contains("</html>"))) {
line = rd.readLine();
line2 += line;
}
// wr.close();
rd.close();
誰もがなぜアイデアを持っていますか?
解決策が見つかりました。 Android 2.2に「セットクッキー」はなく、「セットクッキー」
"set-cookie"はAndroid 2.3では動作しません。正確なスペルに依存しないクッキーを入手するより一般的な方法はありますか? – skyworxx