获取服务器文件,无读的权限: Server returned HTTP response code: 403 for URL: http://*******/address/temp/file3.xlsx

背景

获取服务器端的excel文件,并解析excel文件内容,在下载的过程中出现403,403是权限不足问题。

尝试处理

  1. connection.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
  2. 如果是服务器端禁止抓取,那么这个你可以通过设置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)");

分析原因

  1. 你的IP被列入黑名单
  2. 你在一定时间内过多地访问此网站(一般是用采集程序),被防火墙拒绝访问了
  3. 网站域名解析到了空间,但空间未绑定此域名
  4. 你的网页脚本文件在当前目录下没有执行权限
  5. 在不允许写/创建文件的目录中执行了创建/写文件操作,没有权限读取文件
  6. 以http方式访问需要ssl连接的网址
  7. 浏览器不支持SSL 128时访问SSL 128的连接
  8. 在身份验证的过程中输入了错误的密码
  9. DNS解析错误,手动更改DNS服务器地址
  10. 连接的用户过多,可以过后再试
  11. 服务器繁忙,同一IP地址发送请求过多,遭到服务器智能屏蔽
  12. 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

猜你喜欢

转载自www.cnblogs.com/cloudwas/p/12195780.html