关于某些网站的图片盗链功能,相关http 请求的解决方法
2016-12-15 09:44
691 查看
其实 关键就是 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;
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();
}
}
}
[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;
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();
}
}
}
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(); } } }
相关文章推荐
- 关于某些网站的图片盗链功能,相关http 请求的解决方法
- android 开发使用图片异步缓存框架关于图片请求路径不变情况下的解决方法
- 关于"Ueditor 请求后台配置项http错误,上传功能将不能正常使用"的解决办法
- 关于HttpModule中像图片,*.css,*.js等资源文件也被请求问题的解决
- 关于在Android Studio中使用Http相关类所报错误的解决方法
- 关于HttpModule中像图片,*.css,*.js等资源文件也被请求问题的解决
- 提高网站性能之 —— 减少图片HTTP 请求的方案
- 恶意网站http://www.chaxun.com,近日不断受到这个无耻网站的弹出广告骚扰(已找到解决方法)
- 关于对某些网站无法访问的解决办法 推荐
- 关于使用VS.Net2003调试器出现的问题及相关解决方法[转]
- 关于"System.Web.HttpException: 超过了最大请求长度。"错误的解决
- HttpCompress相关问题解决方法
- 关于提示“处理URL时服务器出错”和“HTTP 500错误“的解决方法
- SQL 2005 Report Server 请求因 HTTP 状态 400 失败: Bad Request 处理方法 的解决方法
- 关于使用VS.Net2003调试器出现的问题及相关解决方法
- 网站根目录下的 cert/ 目录中有bazs.cert文件,可是http://网站地址/cert/bazs.cert 就是提示HTTP 404 的解决方法
- 【Vegas原创】HTTP无法访问内网网站的解决方法
- 当网站不允许上传asp cer cdx htr文件时的一个解决方法! Author: Neeao From:http://www.neeao.info
- IE被某些网站恶意代码修改的问题解决方法心得
- 关于asp.net网站发布后,使用登录控件和注册控件时出现“数据库只读,无法进行数据更新”的解决方法