背景
獲取服務器端的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