Автор оригинала: Pankaj Kumar.
В моем текущем проекте у меня было требование прочитать файл WSDL с URL-адреса и сохранить его в базе данных как CLOB.
Проверка не требовалась, поэтому это было своего рода считыванием содержимого URL-адреса в строку, а затем сохранением его в таблице базы данных.
Java Считывает URL-адрес в строку
Вот программа, которую я написал на Java для чтения URL в строку.
package com.journaldev.java;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
public class ReadURLToString {
public static void main(String[] args) throws Exception {
URL test = new URL("https://journaldev.com");
URLConnection uc = test.openConnection();
uc.addRequestProperty("User-Agent", "Mozilla/4.0");
BufferedReader in = new BufferedReader(new InputStreamReader(uc
.getInputStream()));
String inputLine;
StringBuilder sb = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
sb.append(inputLine);
System.out.println(inputLine);
}
in.close();
System.out.println("HTML Data:" + sb.toString());
}
}
Когда мы запускаем вышеуказанную программу, она выдает следующий результат.
Большая часть кода понятна самостоятельно, за исключением настройки агента пользователя HTTP.
Для некоторых веб-сайтов, если вы не зададите заголовок User-Agent , вы можете получить код ошибки 403. Это потому, что у них есть защита веб-сервера, чтобы избежать трафика ботов.
Если вы удалите настройку Агента пользователя из вышеуказанной программы, это приведет к следующей ошибке.
Exception in thread "main" java.io.IOException: Server returned HTTP response code: 403 for URL: https://www.journaldev.com/ at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1876) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474) at ReadURLToString.main(ReadURLToString.java:12)
Если вы приземлились здесь и искали что-то подобное, не стесняйтесь использовать приведенный выше код. Не забудьте также прокомментировать или поделиться с другими. Это все для чтения содержимого URL-адреса в программе java.
Ссылка: Java URLConnection API Doc