Phần sau đây hoạt động với Java 7/8, các url an toàn và cũng chỉ ra cách thêm cookie vào yêu cầu của bạn. Lưu ý rằng đây chủ yếu là một bản sao trực tiếp của câu trả lời tuyệt vời khác này trên trang này , nhưng đã thêm ví dụ về cookie và làm rõ rằng nó cũng hoạt động với các url an toàn ;-)
Nếu bạn cần kết nối với máy chủ có chứng chỉ không hợp lệ hoặc chứng chỉ tự ký, điều này sẽ gây ra lỗi bảo mật trừ khi bạn nhập chứng chỉ. Nếu bạn cần chức năng này, bạn có thể xem xét cách tiếp cận chi tiết trong câu trả lời này cho câu hỏi liên quan này trên StackOverflow.
Thí dụ
String result = getUrlAsString("https://www.google.com");
System.out.println(result);
đầu ra
<!doctype html><html itemscope="" .... etc
Mã
import java.net.URL;
import java.net.URLConnection;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public static String getUrlAsString(String url)
{
try
{
URL urlObj = new URL(url);
URLConnection con = urlObj.openConnection();
con.setDoOutput(true); // we want the response
con.setRequestProperty("Cookie", "myCookie=test123");
con.connect();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
StringBuilder response = new StringBuilder();
String inputLine;
String newLine = System.getProperty("line.separator");
while ((inputLine = in.readLine()) != null)
{
response.append(inputLine + newLine);
}
in.close();
return response.toString();
}
catch (Exception e)
{
throw new RuntimeException(e);
}
}