我想通过以下代码从服务器获取响应
(这是它连接的部分)
InputStream is = new URL(url + "?p=" + pnb).openStream();
while (is.available() > 0)
out[i++] = (char) is.read();
为什么当我在浏览器中键入该行时,java.io.IOException: Server returned HTTP response code: 403 for URL: http://172.18.19.16:32000/php/test.php?p=662
会崩溃?
答案 0 :(得分:0)
403
是Forbidden
-->
http://en.wikipedia.org/wiki/HTTP_403
有时可能会发生一些网站在请求中查找引荐来源或其他参数(类似用户代理),如果他们没有看到这些特定参数,则只会回复错误(在你的情况下它是403)。浏览器可以在浏览器上发送相同的链接,因为浏览器会根据您的自定义请求发送的请求发送其他数据。
答案 1 :(得分:0)
我用这个解决了它:
URL u = new URL(url + "?p=" + pnb);
URLConnection conn = u.openConnection();
conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2");
conn.connect();
InputStream is = conn.getInputStream();
完美无缺。感谢@Mohammad Adil帮助我