WebサイトのセッションCookieを取得したいとします。残念ながら、 "Set-Cookie"ヘッダーは表示されません。HttpPost:No Set-Cookieヘッダー
私が書いたコードは次のとおりです。 "commands"はString [] []で、全体のコードはtry/catchでラップされています。
CookieStore cookieStore = new BasicCookieStore();
HttpContext localContext = new BasicHttpContext();
localContext.setAttribute(ClientContext.COOKIE_STORE,cookieStore);
HttpPost httppost = new HttpPost(url);
List<NameValuePair> nvps = new ArrayList<NameValuePair>(0);
for (int i=0;i<commands.length;++i)
nvps.add(new BasicNameValuePair(commands[i][0],commands[i][1]));
httppost.setEntity(new UrlEncodedFormEntity(nvps,HTTP.UTF_8));
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
Header[] headers = response.getAllHeaders();
List<Cookie> cookies = cookieStore.getCookies();
String data = EntityUtils.toString(entity);
「Http Communication」を理解すると、「Set-Cookie」ヘッダーがあるはずです。 response.getAllHeaders()から得られる唯一のヘッダーはConnection:close、X-Powered-By:PHP/4.3.4、Content-Type:text/htmlです。
戻り値にはJavaScriptが含まれています(response.getEntity())。
<script language = "javascript">
<!--
location.href="/index.php";
function SetCookie(name,value,expire,path){
document.cookie = name + "=" + escape(value) + ((path == null) ? "":(";path="+path))
}
var iad = 461180104
SetCookie("iad",iad,0,"/")
-->
</script>
私がこれを理解する限り、このコードは決してコメントではないので実行されません。 しかし、これはおそらくクッキーを作成する場所のビットです。
アイデア?
更新日: 「Opera Mobile」は、このサイトのCookieに問題はないAndroid用の唯一のブラウザです。 「Opera Mini」、「Dolphin HD」、Froyo Stockブラウザはすべて失敗します。デスクトップブラウザは接続に問題がありません。これはWebkitの問題ですか?そして、これが事実なら:それを避ける方法?
ちょうどfyi、多分助けてください: "var iad ="の次の数字は訪問ごとに変わります。 – stefan