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?

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.

  • Android: ¿Cómo capturar los extras de Intent si la actividad ya se está ejecutando?
  • Error de Eclipse: Java se inició pero devolvió el código de salida = 13
  • ¿Cómo revisar el campo en android-saripaar?
  • No se pudo iniciar sesión. Compruebe la conexión de red e inténtelo de nuevo.
  • No se puede obtener android.support.v7.widget.SearchView para aceptar el texto
  • Eclipse ADT appcompat ... ¿qué es?
  • Esperando hasta que la ubicación esté encendida después de encenderla a través de la alerta de servicios de ubicación
  • Android java apoyo lambda expresión en java 8?
  • ¿Cómo se comprueba si ya se ha cerrado una instancia de reino?
  • ¿Qué es un apkLIB y cómo uso uno?
  • Com.android.ant.SetupTask no se puede encontrar
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.