所以IAM試圖從該服務器中獲得成功的日誌:www.liuserver.com和IM使用兩類LoginLayout.java和CustomHttpclient.java,現在我已經監測與服務器瀏覽器通信使用Httpwatch來跟蹤服務器產生的回覆的種類和帖子(它產生的url包含用戶提供的用戶名和密碼,除了x和y自動生成的整數,在這個例子中是31和1,其他時間是hey只是零)後的網頁看起來像這樣:的Android登錄應用網站
POST /login.php HTTP/1.1
Accept: application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-shockwave-flash, */*
Referer: https://www.liuserver.com/login.php
Accept-Language: en-US
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C)
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
Host: www.liuserver.com
Content-Length: 38
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: PHPSESSID=e3q4d78jkci3shhn8fq1tlf7i5
USER=20730312&PASS=Password44&x=32&y=1
現在我已經成功地生成具有參數的URL,我張貼到服務器,但當然,它給了我是負面的e回覆,現在我已經被告知,並且在httpwatch插件的cookie選項卡中顯而易見,我需要將phpsessionid作爲cookie發送給我,我的問題如何能夠做到這一點,以及我應該在哪個類中放置用這些參數發送cookie的代碼,以及在成功驗證用戶名和密碼後,如何跟蹤服務器的回覆類型。 答覆流的樣子:
HTTP/1.1 302 Found
Server: nginx/1.0.14
Date: Tue, 01 May 2012 15:57:06 GMT
Content-Type: text/html
Connection: keep-alive
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Location: student/
X-Powered-By: PleskLin
Content-Length: 0
的完整URL登錄頁面:https://www.liuserver.com/login.php
更新:
好吧,我已經成功地從服務器獲取的phpsessionid餅乾,我可以查看它的價值,現在我必須提交我的登錄參數使用
response = CustomHttpClient.executeHttpPost("https://www.liuserver.com/login.php", postParameters);
但我應該在哪裏放置cookie在此方法中包含phpsession id executehttpPost我可以更改方法的參數並將cookie傳遞給那裏?
非常感謝您的回覆,我有一個相關的問題在這裏說,我所做的HTTPGET服務器如何可以驗證應用程序接收的餅乾嗎?換句話說,我怎樣才能讀取從服務器到應用程序的回覆? – Jawad
添加樣本展示瞭如何讀取cookie內容 – lenik
感謝@lenik您的回覆,這是真正有用的,現在我存儲的cookie,可以讀取它使用cookie管理器的內容,但我仍然不知道我應該如何傳遞cookie到服務器以及與我的問題中列出的代碼相同的參數,它應該只是一個字符串或urlencoded值對實體嗎? – Jawad