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.

  • Compartir recursos entre el contexto de OpenGL en Android
  • Cómo iniciar una nueva actividad en android
  • Gestión de texto en aplicaciones Android como en un libro electrónico
  • La interfaz de usuario de Tablet no funciona en mi aplicación
  • Error en la compilación en el dispositivo Android
  • Android: AsyncTask OR normal Java threads con ExecutorService
  • Recuperación de los mensajes SMS desde la tarjeta SIM con android
  • Diferenciación de los lenguajes CJK (chino, japonés y coreano) en Android
  • Selección de elementos de una matriz
  • Detectar el tiempo de espera de la conexión de cliente de android java desde PHP
  • Cómo establecer un intervalo de minutos personalizado en TimePickerDialog en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.