Получение ответа URL через кодирование в Java - PullRequest
3 голосов
/ 21 декабря 2011

Я разрабатываю приложение, в котором мне нужно прочитать содержимое URL-адреса, и после предоставления ему параметра запроса я должен отправить этот запрос обратно на сервер.Я использовал библиотеку Jsoup для получения ответа.Но ответ не извлекается, когда я даю свой URL ("http://10.100.56.55:8090"), который предназначен для кибер-камеры. Я разрабатываю приложение для автоматического создания входа в кибер-камеру. Теперь, если я даю любой другой URL-адрес, тогда мой код работает очень хорошо. Но дляпо этому URL-адресу выдается исключение, которое написано здесь.

Код:

ResourceBundle rb = ResourceBundle.getBundle("bundle.Configuration");                              
try
{             
    Document doc=Jsoup.connect(rb.getString("cyberlink_url")).get();
}
catch (Exception e) 
{
    System.out.println("Error Class is :- " + e.getClass());
    e.printStackTrace();
}

Ошибка:

Error Class is :- class java.nio.charset.IllegalCharsetNameException
java.nio.charset.IllegalCharsetNameException: UTF=8
    at java.nio.charset.Charset.checkName(Charset.java:320)
    at java.nio.charset.Charset.lookup2(Charset.java:496)
    at java.nio.charset.Charset.lookup(Charset.java:475)
    at java.nio.charset.Charset.forName(Charset.java:540)
    at org.jsoup.helper.DataUtil.parseByteData(DataUtil.java:78)
    at org.jsoup.helper.HttpConnection$Response.parse(HttpConnection.java:440)
    at org.jsoup.helper.HttpConnection.get(HttpConnection.java:133)
    at cyberoam.Cyberoam.btnLoginActionPerformed(Cyberoam.java:199)
    at cyberoam.Cyberoam.access$000(Cyberoam.java:24)
    at cyberoam.Cyberoam$1.actionPerformed(Cyberoam.java:82)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
    .......

Проблема, с которой я сталкиваюсь, заключается в том, почему только ответ веб-сайтане получено? Что не так с этим? Я пробовал приведенный выше код с URL-адресом другого веб-сайта, таким как google, yahoo, и он отлично работает. Этот URL-адрес доступен в URL-адресе. Пожалуйста, помогите мне, если я что-то упустил.

1 Ответ

2 голосов
/ 21 декабря 2011

Поскольку вы не включили переадресацию портов, мы не можем взглянуть на «содержимое вашего URL».

Однако, я предполагаю, что строка ответа такова:

<?xml version="1.0" encoding="UTF=8" ?>

Или

<meta http-equiv="Content-Type" content="text/html; charset=UTF=8">

Вы должны изменить его на

<?xml version="1.0" encoding="UTF-8" ?>

Или

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

Под изменением я имею в виду:веб-сервер, который отправляет ответ (вы сами настроили его, например, XAMPP), вероятно, загружает файл XML (или HTML).Это файл с неправильной строкой.

Конечно, UTF=8 не существует.UTF-8 делает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...