1

次のコードを使用して、サーバーにリクエストを送信します。

HttpClient httpclient = new DefaultHttpClient();
httpclient.getCredentialsProvider().setCredentials(
                new AuthScope("localhost", 8080),
                new UsernamePasswordCredentials("username", "password"));

HttpHost targetHost = new HttpHost("www.myhost.com", 443, "https");
targetHost .setHeader("Accept-Language", "en-us,en;q=0.5");
targetHost .setHeader("Accept-Encoding", "gzip,deflate");
targetHost .setHeader("Accept-Charset","ISO-8859-1,utf-8;q=0.7,*;q=0.7");
StringEntity se = new StringEntity(myRequestData, "UTF8");
se.setContentType("text/xml");
se.setContentEncoding("gzip,deflate");
targetHost .setEntity(se);
httpclient.excute(targetHost);

問題は、サーバーに送信するもの (ヘッダー、データなど) とサーバーからの応答パッケージを正確に確認したいことです。Wiresharkが役立つ可能性があることは知っ ていますが、Android コードに使用する方法がわかりません。それを行うにはいくつかの例やチュートリアルが必要か、別の解決策があるかもしれません。前もって感謝します!
P/S: 管理者権限がなく、サーバーを制御できません。

4

1 に答える 1

1

確かに、Wireshark の使い方を学んでも問題ありません。時間があれば、プロジェクトのサイトにビデオを含む多くの学習資料があります。

ただし、特に SSL 経由で接続しているために時間に追われている場合は、受信したものをすべて出力し、Android コードで接続するように指示する「ダミー」サーバーを実装する方が速いと思います。これは、Java のサーバー側ソケットに関する復習です。また、 execute のメソッド return valueから実際のサーバーの応答を取得することもできます。

于 2012-06-02T10:46:18.143 に答える