解决方案 »

  1.   

    直接访问 出现了一个302 的跳转 
    Request URL:http://www.offerwow.cn/image/offerwow_staging/logo/1406880082963.jpg返回:
    Connection:keep-alive
    Content-Length:0
    Date:Fri, 19 Sep 2014 09:08:00 GMT
    Keep-Alive:timeout=5
    Location:http://121.37.63.66/offerwow_staging/logo/1406880082963.jpg
    Server:nginx/1.4.7 最终浏览器显示的地址 : http://121.37.63.66/offerwow_staging/logo/1406880082963.jpg这种302 跳转 模式  HttpURLConnection 默认就处理啊 不需要做其他的 操作  我也测试了其他的网站 给一个302的跳转链接 能正常跳转
      

  2.   

    那么你观察一下 http 通信的过程中重定向跳转时有没有什么 Referer 之类的东西 (引用页),有些网站在你直接 GET 时没带引用页时会拒绝服务,因此它知道你是在盗链。找一个 Eclipse 中的 TCP/IP Monitor 视图配置一个 forwarder 来观察 Http 过程。
      

  3.   


    跳转时候 没有 Referer  但是浏览器 却能正常显示 
      

  4.   

    本帖最后由 fangmingshijie 于 2014-09-19 17:41:37 编辑
      

  5.   

    你这里都没跳转啊  在浏览器 会出现一个 302 的跳转  
    直接访问 出现了一个302 的跳转 
    Request URL:http://www.offerwow.cn/image/offerwow_staging/logo/1406880082963.jpg返回:
    Connection:keep-alive
    Content-Length:0
    Date:Fri, 19 Sep 2014 09:08:00 GMT
    Keep-Alive:timeout=5
    Location:http://121.37.63.66/offerwow_staging/logo/1406880082963.jpg
    Server:nginx/1.4.7 
    为什么在代码里面跳转不过去呢 
      

  6.   


    URL url = new URL("http://www.offerwow.cn/image/offerwow_staging/logo/1406880082963.jpg");
            HttpURLConnection con = (HttpURLConnection) url.openConnection();
            con.setRequestProperty("User-agent", "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.215 Safari/535.1");
            con.setRequestProperty("accept-language", "zh-CN");
            con.setInstanceFollowRedirects(true);
            con.addRequestProperty("Cache-Control", "no-cache");
            con.connect();
            System.out.println(con.getURL().toString());    //这里打印http://www.offerwow.cn/image/offerwow_staging/logo/1406880082963.jpg
            int code=con.getResponseCode();
            System.out.println(con.getURL().toString());    //这里打印http://www.offerwow.cn/image/offerwow_staging/logo/1406880082963.jpg自己看下打印的url还不明白吗?302必须设置User-agent和accept-language,跳转是浏览器帮你的。
      

  7.   


    哦  明白了 谢谢大神 没想到 还有这么个规则 ........ 但是我  测试其他 url   不加 这两个User-agent和accept-language    一样可以正常跳转哦   这个是为什么啊 
      

  8.   


    我试了一下事实说明 跟你这个 设置User-agent和accept-language  没有什么关系    是服务器 拦截到了 我的url 没有跳转