したがって、iamはこのサーバーから正常にログインしようとしています:www.liuserver.comとimは2つのクラスLoginLayout.javaとCustomHttpclient.javaを使用して、今私はHttpwatchを使用してサーバーとのブラウザー通信を監視して種類を追跡しましたサーバーが生成する応答と投稿(この例では31と1であり、それ以外の場合はゼロであるxとyの整数に加えて、ユーザーが提供するユーザー名とパスワードを含むurlを生成します)Webページの外観への投稿このような :
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を生成することに成功し、それらをサーバーに投稿していますが、もちろんそれは私に否定的な応答を与えます、今私は言われました、そして私が送る必要があることはhttpwatchプラグインのクッキータブで明らかです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
アップデート :
サーバーからphpsessionidcookieを取得することに成功し、その値を表示できるようになりました。次に、ログインパラメーターをサーバーに送信する必要があります。
response = CustomHttpClient.executeHttpPost("https://www.liuserver.com/login.php", postParameters);
しかし、phpsession idを含むCookieをこのメソッドexecutehttpPostのどこに配置する必要がありますか?メソッドのパラメーターを変更して、そこにCookieを渡すことはできますか?