關於某些網站的圖片盜鏈功能,相關http 請求的解決方法
阿新 • • 發佈:2019-01-04
其實 關鍵就是 header中 的 Referer 屬性,可以通過firebug 檢視頭資訊 並獲得Referer,但有些情況下可能不能獲取,就只能通過抓包的方法來獲得了。
[java] view plain copy print?- import java.io.BufferedInputStream;
- import java.io.BufferedOutputStream;
- import java.io.BufferedReader;
- import java.io.File;
- import java.io.FileOutputStream;
- import java.io.InputStreamReader;
- import java.net.HttpURLConnection;
- import java.net.URL;
- publicclass refererPost {
- publicstaticvoid main(String[] args){
- String urls = "http://113.107.42.72:88/images/uploadimg/rw201209231804.jpg";
- URL url = null;
- HttpURLConnection http = null;
- try {
- url = new
- http = (HttpURLConnection) url.openConnection();
- http.setDoInput(true);
- http.setDoOutput(true);
- http.setUseCaches(false);
- http.setConnectTimeout(50000);
- http.setReadTimeout(50000);
- http.setRequestMethod("GET"
- http.setRequestProperty("Accept", "image/png,image/*;q=0.8,*/*;q=0.5");
- http.setRequestProperty("Accept-Encoding", "gzip");
- http.setRequestProperty("Referer", "http://dmm.hk/");
- String param = "zs=dddddddddddddddddd";
- //http.getOutputStream().write(param.getBytes());
- //http.getOutputStream().flush();
- //http.getOutputStream().close();
- System.out.println("getResponseCode====="+http.getResponseCode());
- if (http.getResponseCode() == 200) {
- File f = new File("D://a.jpg");
- System.out.println("111111111111111111111111111111");
- BufferedInputStream in = new BufferedInputStream(
- http.getInputStream());
- int c = 0;
- BufferedOutputStream b = new BufferedOutputStream(new FileOutputStream(f));
- while((c=in.read())!=-1){
- b.write(c);
- b.flush();
- }
- b.close();
- in.close();
- }
- } catch (Exception e) {
- System.out.println("err");
- } finally {
- if (http != null)
- http.disconnect();
- }
- }
- }
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class refererPost {
public static void main(String[] args){
String urls = "http://113.107.42.72:88/images/uploadimg/rw201209231804.jpg";
URL url = null;
HttpURLConnection http = null;
try {
url = new URL(urls);
http = (HttpURLConnection) url.openConnection();
http.setDoInput(true);
http.setDoOutput(true);
http.setUseCaches(false);
http.setConnectTimeout(50000);
http.setReadTimeout(50000);
http.setRequestMethod("GET");
http.setRequestProperty("Accept", "image/png,image/*;q=0.8,*/*;q=0.5");
http.setRequestProperty("Accept-Encoding", "gzip");
http.setRequestProperty("Referer", "http://dmm.hk/");
String param = "zs=dddddddddddddddddd";
//http.getOutputStream().write(param.getBytes());
//http.getOutputStream().flush();
//http.getOutputStream().close();
System.out.println("getResponseCode====="+http.getResponseCode());
if (http.getResponseCode() == 200) {
File f = new File("D://a.jpg");
System.out.println("111111111111111111111111111111");
BufferedInputStream in = new BufferedInputStream(
http.getInputStream());
int c = 0;
BufferedOutputStream b = new BufferedOutputStream(new FileOutputStream(f));
while((c=in.read())!=-1){
b.write(c);
b.flush();
}
b.close();
in.close();
}
} catch (Exception e) {
System.out.println("err");
} finally {
if (http != null)
http.disconnect();
}
}
}