写了一个爬虫需要抓取某个网站的相关信息,文字信息都没有问题,但是 图片信息对方网站使用了防盗链技术,抓取图片的时候出现 403 错误
最后进过各种尝试终于成功
上代码,以备以后查看
public static String getHttpPicToCS(String url, String picid)
throws Exception {
String str = "";
HttpClient client = new DefaultHttpClient();
int code = 0;
HttpGet httpGet = new HttpGet(url);
InputStream in = null;
try {
long t1 = System.currentTimeMillis();
// 设置连接超时时间(单位毫秒)
httpGet.getParams().setParameter(
CoreConnectionPNames.CONNECTION_TIMEOUT,
HTTPCLIENT_CONNECTION_TIMEOUT);
httpGet.setHeader("Referer", url); // 专门应对防盗链 url 可以写对方网站url
// 设置读数据超时时间(单位毫秒)
httpGet.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT,
HTTPCLIENT_SO_TIMEOUT);
httpGet.getParams().setParameter("User-Agent","Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)" );
HttpResponse response = client.execute(httpGet);
HttpEntity entity = response.getEntity();
code = response.getStatusLine().getStatusCode();
if (code == 200 && entity != null) {
in = entity.getContent();
str = UpdateFile.updateFile(in, picid);
logger.info("str=" + str);
} else {
httpGet.abort();
return null;
}
long t2 = System.currentTimeMillis();
long to = t2 - t1;
logger.info("---HttpUtil---url:" + url + " , time:" + to
+ " ms , code:" + code);
} catch (Exception e) {
logger.error("------HttpUtil-----error--url:" + url + " , "
+ e.getMessage());
throw e;
} finally {
if(in!=null)
in.close();
httpGet.releaseConnection();
client.getConnectionManager().shutdown();
}
return str;
}
相关推荐
HttpClient网页抓取工具包整合,
HttpClient抓取网页Demo,HttpClient 的入门示例,配合blog文章的附件
java httpclient 抓取 数据 和jar 包
httpClient+jsoup抓取网页数据实例和jar包
帮助程序员快速从Apache的HttpClient 3.x升级到HttpClient 4.x
httpclient4中文教程 httpclient4
httpClient4 最新帮助文档
httpClient 4.1.3 获取css中图片 java源代码 分享给各位 想下载css中的图片 还可以用来学习httpClient 里面含有httpClient4的jar包,还用了swing的好看的主题。
从网络获取数据和图片,用gson解析并用listview展示
文档中详细演示了如何使用HttpClient4进行文件上传
昨天刚找到的java的httpclient4。最新的
httpclient远程网页抓取工具,可以继承到web项目工程中,很好哟,还等什么?
HttpURLConnection与HttpClient的区别: HttpClient是个很不错的开源框架(org.appache.http),封装了访问http的请求头,参数,内容体,响应等等,使用起来更方面更强大。 HttpURLConnection是java的标准类,可以...
android HttpClient 获取网络图片 实例
httpClient post 上传图片 下载下来 修改下 上传和下载的uri
httpClient连接https 获得验证码图片示例 需要证书才能连接的那种 /* 本文所用开发工具 jak1.5.0_06 eclipse:ObjectWeb Lomboz lib: commons-codec-1.4.jar commons-logging-1.1.jar httpclient-4.0.3.jar ...
httpclient4 封装实例 apache httpclient4.2jar包
httpclient4源代码。