从带有参数的 PHP 脚本获取响应


get response from php script with arguments

我想使用以下代码从服务器获取响应

(这是它连接的部分)

        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崩溃?

403 Forbidden --> http://en.wikipedia.org/wiki/HTTP_403

有时,某些网站可能会在请求中查找引荐来源或其他参数(如用户代理),如果他们没有看到这些特定参数,他们只是响应错误(在您的情况下是 403)。相同的链接可能会在浏览器上正常打开,因为浏览器会随请求一起发送其他数据,而您不会随自定义请求一起发送。

我用这个解决了它:

        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帮助我