Enviar solicitud HTTP GET con el encabezado

Desde mi aplicación de Android quiero solicitar una URL con parámetros GET y leer la respuesta. En la solicitud debo añadir un encabezado de x-zip .

La URL es algo así como

 http://example.com/getmethod.aspx?id=111&method=Test 

¿Puede alguien proporcionarme código para eso?

Dos cosas son importantes: que es una solicitud GET y contiene el encabezado de x-zip .

EDITAR:

 try { HttpClient client = new DefaultHttpClient(); String getURL = "http://example.com/getmethod.aspx?id=111&method=Test"; HttpGet get = new HttpGet(getURL); get.setHeader("Content-Type", "application/x-zip"); HttpResponse responseGet = client.execute(get); HttpEntity resEntityGet = responseGet.getEntity(); if (resEntityGet != null) { //do something with the response Log.i("GET ",EntityUtils.toString(resEntityGet)); } } catch (Exception e) { e.printStackTrace(); } 

Intento con este código pero consigo el código con error del .net: Object reference not set to an instance of an object... Pienso pero no estoy seguro esto si para la cabecera de x-zip , es encabezado en mi código aceptable?

2 Solutions collect form web for “Enviar solicitud HTTP GET con el encabezado”

He aquí un extracto de código que estamos usando en nuestra aplicación para establecer los encabezados de las solicitudes. Observará que establecemos el encabezado CONTENT_TYPE sólo en un POST o PUT, pero también se utiliza el método general de adición de encabezados (a través de un interceptor de solicitud) para GET.

 /** * HTTP request types */ public static final int POST_TYPE = 1; public static final int GET_TYPE = 2; public static final int PUT_TYPE = 3; public static final int DELETE_TYPE = 4; /** * HTTP request header constants */ public static final String CONTENT_TYPE = "Content-Type"; public static final String ACCEPT_ENCODING = "Accept-Encoding"; public static final String CONTENT_ENCODING = "Content-Encoding"; public static final String ENCODING_GZIP = "gzip"; public static final String MIME_FORM_ENCODED = "application/x-www-form-urlencoded"; public static final String MIME_TEXT_PLAIN = "text/plain"; private InputStream performRequest(final String contentType, final String url, final String user, final String pass, final Map<String, String> headers, final Map<String, String> params, final int requestType) throws IOException { DefaultHttpClient client = HTTPClientFactory.newClient(); client.getParams().setParameter(HttpProtocolParams.USER_AGENT, mUserAgent); // add user and pass to client credentials if present if ((user != null) && (pass != null)) { client.getCredentialsProvider().setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(user, pass)); } // process headers using request interceptor final Map<String, String> sendHeaders = new HashMap<String, String>(); if ((headers != null) && (headers.size() > 0)) { sendHeaders.putAll(headers); } if (requestType == HTTPRequestHelper.POST_TYPE || requestType == HTTPRequestHelper.PUT_TYPE ) { sendHeaders.put(HTTPRequestHelper.CONTENT_TYPE, contentType); } // request gzip encoding for response sendHeaders.put(HTTPRequestHelper.ACCEPT_ENCODING, HTTPRequestHelper.ENCODING_GZIP); if (sendHeaders.size() > 0) { client.addRequestInterceptor(new HttpRequestInterceptor() { public void process(final HttpRequest request, final HttpContext context) throws HttpException, IOException { for (String key : sendHeaders.keySet()) { if (!request.containsHeader(key)) { request.addHeader(key, sendHeaders.get(key)); } } } }); } //.... code omitted ....// } 

Usted lo hace exactamente como usted demostró con esta línea:

 get.setHeader("Content-Type", "application/x-zip"); 

Así que su encabezado está bien y el problema es alguna otra entrada para el servicio web. Usted querrá depurar eso en el lado del servidor.

  • No se puede crear dispositivo virtual Android
  • IntelliJ / Android Studio: eliminar el uso innecesario de 'esto.'
  • Integración multimedia con LibGDX
  • ¿Qué hace (?! A) {0}? Significa en un regex de Java?
  • Android: Cambiar la etiqueta de la aplicación mediante programación
  • Android eliminar y agregar a ArrayList entre actividades
  • Guardar en tarjeta SD como archivo de texto
  • Butterknife 8.4.0 no encuentra vistas después de volver a ejecutar la aplicación. Obtiene una excepción NullPointerException
  • SimpleXML Constructor Exception - No se puede crear Inner Class
  • Encriptación de Android "bloque pad bloqueado" excepción
  • Redimensionar el mapa de bits de Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.