获取服务器文件,无读的权限: Server returned HTTP response code: 403 for URL: http://*******/address/temp/file3.xlsx
背景
获取服务器端的excel文件,并解析excel文件内容,在下载的过程中出现403,403是权限不足问题。
尝试处理
- connection.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
- 如果是服务器端禁止抓取,那么这个你可以通过设置User-Agent来欺骗服务器.
更改配置为:
connection.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36)");
分析原因
- 你的IP被列入黑名单
- 你在一定时间内过多地访问此网站(一般是用采集程序),被防火墙拒绝访问了
- 网站域名解析到了空间,但空间未绑定此域名
- 你的网页脚本文件在当前目录下没有执行权限
- 在不允许写/创建文件的目录中执行了创建/写文件操作,没有权限读取文件
- 以http方式访问需要ssl连接的网址
- 浏览器不支持SSL 128时访问SSL 128的连接
- 在身份验证的过程中输入了错误的密码
- DNS解析错误,手动更改DNS服务器地址
- 连接的用户过多,可以过后再试
- 服务器繁忙,同一IP地址发送请求过多,遭到服务器智能屏蔽
- CC强力防护
而我遇到的问题是第5个;
查看服务器文件并分析
-rwxr-xr-x 1 root root 12691 Jan 9 14:00 file1.xlsx
-rw-r--r-- 1 root root 11612 Jan 9 13:16 file2.xlsx
-rw------- 1 root root 13887 Jan 15 09:24 file3.xlsx
-rwxrwxrwx 1 root root 11612 Sep 5 10:40 file4.xlsx
-rw-r--r-- 1 root root 25109 Dec 5 19:24 file5.xlsx
-rw------- (600) 只有拥有者有读写权限。
-rw-r--r-- (644) 只有拥有者有读写权限;而属组用户和其他用户只有读权限。
-rwx------ (700) 只有拥有者有读、写、执行权限。
-rwxr-xr-x (755) 拥有者有读、写、执行权限;而属组用户和其他用户只有读、执行权限。
-rwx--x--x (711) 拥有者有读、写、执行权限;而属组用户和其他用户只有执行权限。
-rw-rw-rw- (666) 所有用户都有文件读、写权限。
-rwxrwxrwx (777) 所有用户都有读、写、执行权限。
发现要解析的文件 file3.xlsx, -rw------- ,只有拥有者有读写权限,故而造成获取远程excel报403错误。
处理方式
执行命令: chmod 644 file3.xlsx
结果: -rw-r--r-- 1 root root 13887 Jan 15 09:24 file3.xlsx ,再次重试,已经可以解析
参考资料
https://blog.csdn.net/u013197629/article/details/73608613
https://blog.csdn.net/u014316462/article/details/52241685
cloud was too heavy