Pregunta

Estoy intentando añadir un árbitro a un HTTP POST en Apache HttpClient (httpclient-4,0-beta 2).

He encontrado algunos ejemplos de código que hace esto. El código funciona, pero me pregunto si no hay una manera más simple, más sencillo para añadir el árbitro de utilizar el addRequestInterceptor (nombre inquietante), que parece tener un (uff!) Clase interna como parámetro.

El código en cuestión comienza a continuación con "// agregar el encabezado árbitro". Soy un novato, y este código está haciendo varias cosas que no entiendo. ¿Es esta realmente la forma más sencilla de añadir un árbitro a mi post http?

Gracias por cualquier punteros.

// initialize request parameters
List<NameValuePair> formparams = new ArrayList<NameValuePair>();
formparams.add(new BasicNameValuePair("firstName", "John"));
formparams.add(new BasicNameValuePair("lastName", "Doe"));

// set up httppost
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formparams, "UTF-8");
HttpPost httppost = new HttpPost(submitUrl);
httppost.setEntity(entity);

// create httpclient
DefaultHttpClient httpclient = new DefaultHttpClient();

// add the referer header, is an inner class used here?
httpclient.addRequestInterceptor(new HttpRequestInterceptor()
{   
    public void process(final HttpRequest request, 
                        final HttpContext context) throws HttpException, IOException
    {
        request.addHeader("Referer", referer);
    }
});

// execute the request
HttpResponse response = httpclient.execute(httppost);
¿Fue útil?

Solución

algún motivo no se debe hacer:

httppost.addHeader("Referer", referer);

? subclases HttpPost AbstractHttpMessage (indirectamente) por lo que debe ser capaz de simplemente añadir cabeceras de esa manera.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top