0

次のURLを試しました:

http://validator.w3.org/mobile/check?docAddr=mobisoft.net.pl&output=unicorn

デスクトップのFirefoxまたはChromeブラウザーでは、すべて正常に動作します。有効な XML 応答を返します。

その後、検証結果を取得するために W3C に接続する Android アプリケーションを作成しました。以下のコード:

Url url = new URL("http://validator.w3.org/mobile/check?docAddr=mobisoft.net.pl&output=unicorn"); 
URLConnection connection = url.openConnection();
HttpURLConnection httpConnection = (HttpURLConnection) connection;

int responseCode = httpConnection.getResponseCode();

デスクトップブラウザで同じURLを実行しているときに、正常に動作しているにもかかわらず、常にHTTPステータスコード500 INTERNAL SERVER PROBLEMが表示されます。他のWebサイトでも同じ問題。

なぜ私の Android アプリケーションで動作しないのでしょうか?

4

1 に答える 1

1

HTTP「User-Agent」ヘッダーを追加してみてください。おそらくそれが問題です。それ以外の場合は、既存のオープン ソース Java ライブラリを使用することをお勧めします。このライブラリは、(W3C を通じて) あなたに代わってこの検証を行います: rexsl-w3c

編集: "application/soap+xml" 値を持つ "Accept" HTTP ヘッダーを追加すると、正常に動作します。

于 2012-04-16T16:15:13.143 に答える