java 爬虫 403_使用java爬虫获取网络资源403错误解决
在做爬虫的时候,有时候需要下载爬到连接的URL。
比如:String url =“
如果使用Filefile =newFile(url );
发现file处理后成了:http:\www.kaigejava.com\uplode\pdf\xxxxx.pdf
然后使用file的判断方法。提示获取不到。
那么使用java的file对象怎么获取网络资源?
代码如下:
public class FileTests {
public static void main(String args) throws Exception {
StringfileName= "d96c6dcfda2559c5865db89388d28cbf.pdf";
String fileUrl = "http://10.10.10.242:82/xxx/files/d96c6dcfda2559c5865db89388d28cbf.pdf";
String downPath = "C:\\Users\\kaigejava\\Desktop\\xss";
downUrlTxt(fileName,fileUrl,downPath);
}
public static void downUrlTxt(String fileName,String fileUrl,String downPath){
File savePath = new File(downPath);
if (!savePath.exists) {
savePath.mkdir;
}
String urlname = fileUrl.split("/");
int len = urlname.length-1;
String uname = urlname[len];//获取文件名
try {
File file = new File(savePath+"/"+uname);//创建新文件
if(file!=null && !file.exists){
file.createNewFile;
}
OutputStream oputstream = new FileOutputStream(file);
URL url = new URL(fileUrl);
URLConnection uc ;
uc = url.openConnection;
uc.addRequestProperty("User-Agent",
"Mozilla/4.0 (compatible; MSIE 6.0;WindowsNT 5.0)");
uc.setDoInput(true);//设置是否要从 URL 连接读取数据,默认为true
uc.connect;
InputStream iputstream = uc.getInputStream;
System.out.println("filesize is:"+uc.getContentLength);//打印文件长度
bytebuffer=newbyte[4*1024];
int byteRead = -1;
while((byteRead=(iputstream.read(buffer)))!= -1){
oputstream.write(buffer, 0, byteRead);
}
oputstream.flush;
iputstream.close;
oputstream.close;
} catch (Exception e) {
System.out.println("读取失败!");
e.printStackTrace;
}
System.out.println("生成文件路径:"+downPath+fileName);
}
}
下载提示:
需要注意的:
如果提示:Server returned HTTP response code: 403 forURL
这个错误。
有可能是服务器拒绝了java直接访问。
所以需要使用下面选中的部分。伪装成浏览器请求。
如下:
百科:
User-Agent:
如果您觉得有用请分享给您的朋友。
【欢迎关注微信公众号:凯哥java】
开心一刻:
1、老师:“生铁是铁,熟铁是铁,铁锤一敲铁打铁。谁能对下联?” 小明:“男人是人,女人是人,床板一响人造人。” 老师:“滚出去!”
2、老师:“都是一个老师教的,为什么人家就学得好呢?” 小明:“因为不是一个父母生的。” 老师:“滚出去!”
3、初中开学典礼校长谈早恋。校长:早恋犹如青色的苹果,过早的品尝只会让你感到苦涩。 小明:苹果熟透了还能轮到我么。 校园:快滚,不然我开除你!
4、老师:为什么鸡蛋是圆形的,不是方形的呢? 小明:老师,你有考虑过母鸡的感受吗? 老师!@#!@#
java 爬虫 403_使用java爬虫获取网络资源403错误解决相关推荐
- java爬虫 403_使用java爬虫获取网络资源403错误解决
在做爬虫的时候,有时候需要下载爬到连接的URL. 比如:String url =" 如果使用Filefile =newFile(url ); 发现file处理后成了:http:\www.ka ...
- 爬虫出现403错误解决办法
转载自https://blog.csdn.net/jsqfengbao/article/details/44594985 在python写爬虫的时候,html.getcode()会遇到403禁止访问的 ...
- Error:Could not create the Java Virtual Machine. Error:A Fatal exception has occurred错误解决
问题情况: 出现以上情况,可以通过以下方式进行解决: 1.判断机子是否安装了Java环境 确定自己已经设置环境变量:如JAVA_HOME,CLASSPATH,PATH 2.有些程序会有内存设置,有些程 ...
- java.lang.RuntimeException: java.io.IOException: Couldn‘t create proxy provider null错误解决
在搭建完Hadoop高可用集群在,在运行Hive客户端时报错. ERROR: 我们再往下看: 从这里可以看出是再配置时ConfiguredFailoverProxyP rovider not foun ...
- dht java_一个java版本的dht网络爬虫,伪装dht节点获取hashinfo
dht-spider 一个java版本的dht网络爬虫,伪装dht节点获取hashinfo 导入idea 在入口类DhtNetworkApplication 的main方法下 修改udp端口 直接运行 ...
- Java实现网络爬虫 案例代码1:获取天气预报信息
案例1:获取天气预报信息 需求说明 搭建开发环境,实现从"hao123.com"中获取当地天气预报信息,从控制台输出结果 分析 访问网址:https://www.hao123.co ...
- Jsoup:用Java也可以爬虫,怎么使用Java进行爬虫,用Java爬取网页数据,使用Jsoup爬取数据,爬虫举例:京东搜索
Jsoup:用Java也可以爬虫,怎么使用Java进行爬虫,用Java爬取网页数据,使用Jsoup爬取数据,爬虫举例:京东搜索 一.资源 为什么接下来的代码中要使用el.getElementsByTa ...
- java调用百度搜索_Java爬虫怎么调用百度搜索引擎,对关键字的网页爬取?
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 package com.wjd.baidukey.crawler; import java.io.ByteArrayInputStream; import ...
- Java多层翻页网络爬虫实战(以搜房网为例)
目录 分析所要爬取的数据 爬虫框架 model main util parse db数据库操作 爬虫如何实现翻页地址拼接 网络爬虫如何解决主键重复问题 本文为原创博客,仅供技术学习使用.未经允许,禁止 ...
最新文章
- request 对象和 response 对象
- R语言自定义函数计算dataframe每列中的缺失值NA的个数、缺失值问题及其填充示例
- python数据类型-Python3基本数据类型(一、数字类型)
- Acwing第 33 场周赛【完结】
- Cisco PIX Syslog 配置说明
- Jmeter(7)调试工具---HTTP Mirror Server
- [黑金原创教程][连载][iBoard 电子学堂][第八卷 设计任意波发生器]第三篇 直接数字合成(DDS)原理...
- 《高质量程序设计指南:C++/C语言》图书信息
- ubuntu虚拟机启动失败黑屏解决方案及原因
- 跨境电商亚马逊ERP之如何选择好用的ERP软件
- 教资缴费显示内部服务器错误,中小学教师资格考试网上支付常见问题
- LICEcap:GIF屏幕录制工具
- FreeRTOS+STM32L+BC20+MQTT协议传输温湿度数据,控制继电器云平台——④华为云
- ZStack--级联框架
- 经典算法电话号码的字母组合
- DFS和BFS求字符串的所有非空子集———Java
- 内存的永久保存区内存溢出解决
- tomcat9.0安装及配置教程_Apache Tomcat 安装与配置教程
- 【Mac使用技巧】Mac中文输入法打不出来句号
- docker: Error response from daemon: driver failed programming external connectivity on endpoint