tôi sử dụng mã Java sau đây trong một Bean để đọc nội dung của một URL:Java: Cách đọc nội dung từ các URL được chuyển hướng?
String url;
String inputLine;
StringBuilder srcCode=new StringBuilder();
public void setUrl (String value) {
url = value;
}
private void scanWebPage() throws IOException {
try {
URL dest = new URL(url);
URLConnection yc = dest.openConnection();
yc.setUseCaches(false);
BufferedReader in = new BufferedReader(new
InputStreamReader(yc.getInputStream()));
while ((inputLine = in.readLine()) != null)
srcCode = srcCode.append (inputLine);
in.close();
} catch (FileNotFoundException fne) {
srcCode.append("File Not Found") ;
}
}
Mã này hoạt động tốt cho hầu hết các URL, nhưng không làm việc cho URL chuyển hướng. Làm cách nào để cập nhật mã trên để đọc nội dung từ các URL được chuyển hướng? Đối với các URL được chuyển hướng, tôi nhận được "File Not Found"
.
'java.net.URL' nên làm theo ← liên kết theo mặc định (trừ trường hợp trước đây bạn đã được gọi là' HttpURLConnection.setFollowRedirects (false) '), vì vậy bạn chỉ nên xem nội dung của URL mục tiêu cuối cùng. Giả sử tất nhiên chuyển hướng không tự đến trang 404 ... –
Kết nối URL sẽ không theo chuyển hướng nếu giao thức thay đổi (tức là, từ HTTP sang HTTPS). Đây có phải là kịch bản của bạn không? Ngoài ra, bạn không được phép sử dụng [Apache HttpComponents] (http://hc.apache.org/)? – Perception