0

我尝试了以下网址:

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

在桌面 firefox 或 chrome 浏览器中,一切正常。它返回有效的 XML 响应。

之后,我创建了 Android 应用程序,该应用程序连接到 W3C 以获得验证结果。下面的代码:

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();

我总是得到 HTTP 状态代码 500 INTERNAL SERVER PROBLEM,尽管事实上它工作正常,同时在桌面浏览器上执行相同的 url。其他网站也有同样的问题。

你有什么想法,为什么它在我的 Android 应用程序中不起作用?

4

1 回答 1

1

尝试添加一个 HTTP “User-Agent” 标头,也许这就是问题所在。否则,我建议使用现有的开源 Java 库,它代表您(通过 W3C)进行此验证:rexsl-w3c

编辑:添加带有“application/soap+xml”值的“Accept”HTTP 标头,可以正常工作。

于 2012-04-16T16:15:13.143 回答