2012-01-06 12 views
12

Recibo este error "El host de destino no debe ser nulo, o establecerse en parámetros". Mi archivo manifest tiene un conjunto de permisos de Internet, y he puesto 'http: //' antes de mi Url. Todavía da el mismo error. Mi URL no tiene un 'www.' adjunto a.El host de destino no debe ser nulo, o establecerse en los parámetros

Parte de mi Código:

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

Parte de mi manifiesto es, como a continuación:

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

¿Qué hago ahora?

+1

Para que quede claro: no hay tal cosa como un dominio de nivel superior ".xml", así que o tu ejemplo URI anterior está mal escogido, o que están tratando de hacer algo extraño. Si su código real también tiene el '.xml', entonces está su problema: no hay tal cosa para enviar una solicitud HTTP. – Nanne

+0

Gracias por su respuesta. Usar la URL sin el guión bajo me ha funcionado. La parte .xml está bien. – Ama

+0

por cierto, recibí este error porque olvidé agregar http: //. Estaba escribiendo www.something.com, pero debe ser http://www.something.com – PeerNet

Respuesta

7

Así que sustituyó a la URL, con casi la misma URL, excepto sin el guión y que trabajaban. Me di cuenta de búsquedas adicionales (por ejemplo here) que las direcciones URL con _ (subrayado) no son válidos, aunque esa URL en particular puede trabajar. Gracias por toda su ayuda.

10

Debe ser

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

La URL no es www.infocreation.something.xml. Es http: //infocreation.something.xml. No hay www. Aparece el error "El nombre de host no puede ser nulo" cuando coloco www en la Url – Ama

+0

. Intenté ir a su sitio, no existe. ¿Que estás tratando de hacer? –

+0

No hay .com? Intenté navegar a su sitio y dice que no se puede encontrar el servidor. ¿Estás seguro de estar haciendo esto correctamente? –

7

estás poniendo un verdadero y trabajando url inot el constructor HttpPost?

de todos modos esta es tu solución:

Si tiene el siguiente código en su defecto:

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

a continuación, el error es bastante fácil de resolver: el problema es que usted ha No se ha agregado un protocolo a la URL, así que cámbielo a:

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

Y luego funcionará como lo desee.

Fuente: h3x.no

+1

Pero la pregunta indica claramente "He puesto 'http: //' antes de mi Url" ...... – Nanne

+0

Gracias Nanne. No puse la URL real en la pregunta. La URL real no tiene un www. adjunto a. Y estoy usando POST, no GET. Gracias. – Ama

+0

Su error no fue referido a HttpGet o HttpPost, fue general. El error fue porque no estaba poniendo el http: // www o su url estaba mal formado. – StErMi

Cuestiones relacionadas