图像提取中的禁止响应代码

时间:2013-02-26 16:29:18

标签: java network-programming httpresponse

我对this request到底发生了什么感到困惑。正如您通过单击标准浏览器的链接所看到的那样,项目图像显示为200响应代码。 (这可以通过打开大多数浏览器的网络部分中的开发人员工具来看到。)但是,我写了一个脚本,它将使用标准Java类ping响应代码的URL,并且我得到403 Forbidden响应代码:

static public void main(String[] args) throws IOException
{
    URL my_url = new URL("http://www.gessi.it/static/images/products/zoom/01410.png");

    URLConnection u = my_url.openConnection();

    if (u instanceof HttpURLConnection)
    {
        HttpURLConnection http_u = (HttpURLConnection) u;

        System.out.println("Response code: " + http_u.getResponseCode());
        System.out.println("Response message: " + http_u.getResponseMessage());
    }
}

有没有人知道为什么脚本会收到禁用代码,而标准浏览器可以正常查看图像?在过去,我看到一些图像提取失败了我的脚本,因为Java本身不能处理复杂的302重定向等等,但在这种情况下没有。

1 个答案:

答案 0 :(得分:2)

http_u.setRequestProperty("User-Agent", "Mozilla 9.10");

服务器查找User-Agent请求标头,因此不需要为爬虫,收割机等提供服务。