2012-01-06 3 views
12

Я получаю эту ошибку «Целевой хост не должен быть нулевым или задан в параметрах». В моем файле манифеста есть набор разрешений для Интернета, и я поставил 'http: //' перед моим URL. Он по-прежнему дает ту же ошибку. У моего URL нет «www». прилагается к нему.Целевой хост не должен быть нулевым или задан в параметрах

Часть моего Кодекса:

HttpPost post = new HttpPost("http://infocreation.something_something1.xml"); 

Часть моего манифеста, как показано ниже:

<uses-permission android:name="android.permission.INTERNET/> 

Что мне делать сейчас?

+1

Просто чтобы быть ясно: нет такого понятия, как «.xml» TLD, так как ваш пример-URI выше выбрано неудачно, или вы пытаетесь сделать что-то странное. Если ваш реальный код также имеет '.xml', то есть ваша проблема: нет такой вещи, чтобы отправить HTTP-запрос. – Nanne

+0

Благодарим за отзыв. Использование URL без подчеркивания сработало для меня. Часть .xml в порядке. – Ama

+0

, кстати, я получал эту ошибку, потому что забыл добавить http: //. Я писал www.something.com, но это должно быть http://www.something.com – PeerNet

ответ

7

Так я заменил URL, почти с такой же URL, но без подчеркивания и работал. Я понял из дальнейших поисков (например, here), что URL-адреса с _ (underscore) недействительны, хотя этот конкретный URL-адрес может работать. Спасибо за вашу помощь.

10

Это должно быть

HttpPost post = new HttpPost("http://www.infocreation.something.xml"); 
+0

URL не является www.infocreation.something.xml. Это http: //infocreation.something.xml. Нет www. Я получаю ошибку «Имя хоста не может быть пустой», когда я помещаю www в Url – Ama

+0

. Я просто попытался перейти на ваш сайт, он не существует. Что ты пытаешься сделать? –

+0

Нет .com? Я попытался перейти на ваш сайт, и он говорит, что невозможно найти сервер. Вы уверены, что делаете это правильно? –

7

Вы помещаете реальный и рабочий URL-адрес из конструктора HttpPost?

Во всяком случае, это ваше решение:

Если у вас есть следующий код неисправного:

HttpGet httpget = new HttpGet("www.host.com"); 

Тогда ошибка довольно легко решить: проблема заключается в том, что вы га вы не добавили протокол к URL-адресу, поэтому измените его на:

HttpGet httpget = new HttpGet("http://www.host.com"); 

И тогда он будет работать по мере необходимости.

Источник: h3x.no

+1

Но вопрос четко гласит: «Я поставил« http: // «до моего Url» ... – Nanne

+0

Спасибо, Nanne. Я не задал истинный URL в вопросе. В реальном URL-адресе нет www. прилагается к нему. И я использую POST, а не GET. Спасибо. – Ama

+0

Вы не указали ошибку в HttpGet или HttpPost, это было общее. Ошибка была связана с тем, что вы не помещали http: // www или ваш URL был неправильным. – StErMi

Смежные вопросы