Рубрики
Без рубрики

Java Считывает URL-адрес в строку

Java считывает строку URL-адреса, считывает строку содержимого URL-адреса, настраивает агент пользователя, чтобы избежать кода ошибки 403, пример кода URLConnection openConnection getInputStream.

Автор оригинала: 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