我尝试了以下网址:
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应用程序中不起作用?
答案 0 :(得分:1)
尝试添加HTTP“User-Agent”标头,这可能就是问题所在。否则,我建议使用现有的开源Java库,代表您进行此验证(通过W3C):rexsl-w3c
编辑:使用“application / soap + xml”值添加“Accept”HTTP标头,将正常工作。