关于某些网站的图片盗链功能,相关http 请求的解决方法

来源:互联网 发布:下拉框淘宝店铺搜索 编辑:程序博客网 时间:2024/06/12 21:19

其实 关键就是 header中 的 Referer 属性,可以通过firebug 查看头信息 并获得Referer,但有些情况下可能不能获取,就只能通过抓包的方法来获得了。

[java] view plain copy
print?
  1. import java.io.BufferedInputStream;  
  2. import java.io.BufferedOutputStream;  
  3. import java.io.BufferedReader;  
  4. import java.io.File;  
  5. import java.io.FileOutputStream;  
  6. import java.io.InputStreamReader;  
  7. import java.net.HttpURLConnection;  
  8. import java.net.URL;  
  9.   
  10.   
  11. public class refererPost {  
  12.     public static void main(String[] args){  
  13.         String urls = "http://113.107.42.72:88/images/uploadimg/rw201209231804.jpg";  
  14.         URL url = null;  
  15.         HttpURLConnection http = null;  
  16.         try {  
  17.             url = new URL(urls);  
  18.             http = (HttpURLConnection) url.openConnection();  
  19.             http.setDoInput(true);  
  20.             http.setDoOutput(true);  
  21.             http.setUseCaches(false);  
  22.             http.setConnectTimeout(50000);  
  23.             http.setReadTimeout(50000);  
  24.             http.setRequestMethod("GET");  
  25.             http.setRequestProperty("Accept""image/png,image/*;q=0.8,*/*;q=0.5");  
  26.             http.setRequestProperty("Accept-Encoding""gzip");    
  27.             http.setRequestProperty("Referer""http://dmm.hk/");    
  28.             String param = "zs=dddddddddddddddddd";  
  29.             //http.getOutputStream().write(param.getBytes());      
  30.             //http.getOutputStream().flush();  
  31.             //http.getOutputStream().close();  
  32.             System.out.println("getResponseCode====="+http.getResponseCode());  
  33.             if (http.getResponseCode() == 200) {  
  34.                 File f = new File("D://a.jpg");  
  35.                 System.out.println("111111111111111111111111111111");  
  36.                 BufferedInputStream in = new BufferedInputStream(  
  37.             http.getInputStream());  
  38.             int c = 0;  
  39.             BufferedOutputStream b = new BufferedOutputStream(new FileOutputStream(f));  
  40.             while((c=in.read())!=-1){  
  41.                 b.write(c);  
  42.                 b.flush();  
  43.             }  
  44.               
  45.             b.close();  
  46.             in.close();  
  47.             }  
  48.         } catch (Exception e) {  
  49.             System.out.println("err");  
  50.         } finally {  
  51.         if (http != null)  
  52.             http.disconnect();  
  53.         }  
  54.     }  
  55.     }  



0 0
原创粉丝点击