リクエストに認証ヘッダーを追加したいと考えています。Apache httpclient 4.0 の DefaultHttpClient を使用しています。
私はそれがこのように行われていることを発見しました:
URI uri = new URI("http://www.bla.bla/folder/");
String host = uri.getHost();
int port = uri.getPort();
httpClient.getCredentialsProvider().setCredentials(
new AuthScope(host, port, AuthScope.ANY_SCHEME),
new UsernamePasswordCredentials("myuser", "mypassword")
);
これが実行され、デバッガーを使用しても、リクエストの実行時に httpClient のいくつかの資格情報変数が設定されていることがわかります。しかし、Charles で Web トラフィックを検査しましたが、認証ヘッダーはありません。
変数の内容:
ホスト: www.bla.bla
ポート: -1
ところで。次のように、Charles をプロキシとしてリクエストのヘッダーを表示できるようにしました。
HttpHost proxy = new HttpHost("127.0.0.1", 8888, "http");
httpParameters.setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
ヘッダーを変更するべきではないと思います.webproxyには意味がありません...とにかく、プロキシを無効にすると機能しません(ただし、ヘッダーの内容は表示されませんが、同じだと思います理由)。
また、Softhinker.com の投稿(Android で HTTP 基本認証ヘッダーを送信するにはどうすればよいですか?) で説明されているような要求インターセプターを使用してみました。
そして、認証ヘッダーなしで、まったく同じ要求を受け取ります。
私は何を間違っていますか?
前もって感謝します。