1
我一直在一個問題上停留了很長一段時間。我有以下代碼:如何從Java中的重定向鏈接過濾空格?
String fileUrl = "example.com/some_redirect_page_to_a_download_page.html";
URL url = new URL(fileURL);
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.addRequestProperty("User-Agent", "Mozilla/4.76");
int responseCode = httpConn.getResponseCode();
這是試圖在嘗試連接到URL時獲取響應代碼。對於我輸入的大多數下載鏈接,它會返回響應碼200,這正是我想要的。但是,對於某些下載鏈接,它會返回505.我一直在這裏搜索互聯網上的問題,並且我發現答案是:鏈接中有空格。問題是,在我從最終鏈接獲取文件之前,我使用的所有鏈接都是第一次重定向。 HttpURLConnection自動遵循所有這些重定向,但愚蠢地保留最終鏈接中的空格,我得到的錯誤代碼爲505.另外,HttpURLConnection中似乎沒有任何字段,我可以從中獲取此最終鏈接從它自己刪除它的空間。
例子:
String fileUrl = "http://www.planetminecraft.com/project/hillside-manor/download/schematic/";
URL url = new URL(fileURL);
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.addRequestProperty("User-Agent", "Mozilla/4.76");
int responseCode = httpConn.getResponseCode();
return responseCode;
這將返回以下錯誤:
java.io.IOException: Server returned HTTP response code: 505 for URL: http://static.planetminecraft.com/files/resource_media/schematic/Hillside Manor v10.schematic
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1840)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1441)
at PMCParser.getFinalURL(PMCParser.java:47)
at PMCParser.getFinalURL(PMCParser.java:51)
at PMCParser.getFileSize(PMCParser.java:136)
at PMCParser.seekByTitle(PMCParser.java:76)
at PMCParser.run(PMCParser.java:37)
有沒有人對如何解決這個任何線索?
也許:http://www.checkupdown.com/status/E505.html – 2016-05-13 20:16:59
@RC。感謝您試圖幫助。我知道如何解決505錯誤,我只是沒有我需要的東西(我試圖連接到的實際URL)來解決問題... –
嘗試替換(「」,「」);在URL上,它將首先用空白或替換(「」,「+」)替換空格;如果你需要url格式的空間。 – Leo