web-dev-qa-db-ja.com

ユーザーエージェントが「Apache-HttpClient / UNAVAILABLE(Java1.4)」として送信される理由

サンプルモバイルアプリケーションは、モバイルアプリケーションから送信された情報を処理するために使用するHTTPサーバーにPOSTリクエストを送信します。HTTPヘッダーを解析すると、User-Agentヘッダーは常に「Apache-HttpClient」と表示されます。 "すべてのAndroid異なるOSのデバイス。

Androidデバイスでアプリからアクションを実行すると、ユーザーエージェントがApache-HttpClient/UNAVAILABLE (Java 1.4)として返されます。

どうしたの? OS情報やその他の詳細などの情報を含むユーザーエージェント文字列は提供されません。以前に同様の動作を見た人はいますか?

12
SONU

Apache-HttpClient/UNAVAILABLE (Java 1.4)は、アプリが使用しているApacheクライアントのデフォルトのユーザーエージェント文字列であり、それ自体はエラーではありません。

このクライアントは、それが実行されているシステムについてほとんど知りません。これは最善の方法です。これは、Androidデバイス(Android $ ===デバイスの場合は電話、タブレット、テレビ、さらには車!)外の世界にhttpリクエストを送信します。

ユーザーエージェント文字列は、ユーザーエージェント(「ブラウザ」と読みます)が自分自身を識別するための方法です。

Androidアプリの場合、アプリはブラウザであるため、ユーザーエージェント文字列はアプリ内で定義するためのものです。

参照: Android Generic User Agent(UA)

デバイスに関する情報を送信する場合は、アプリでその情報を収集してから送信する必要があります。ただし、そのデータを収集する場合は、とにかくHTTPヘッダーではなく、リクエストの本文にデータを配置することをお勧めします。

6
Jason Elkin