Pregunta

Actualmente me estoy familiarizando con las nuevas bibliotecas HttpClient para crear una clase básica que devuelva html / css / etc. de la URL solicitada. Usando el ejemplo tomado de aquí

Puede ver el ejemplo a continuación:

package test;

import org.apache.http.client.ResponseHandler;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.BasicResponseHandler;
import org.apache.http.impl.client.DefaultHttpClient;

public class Test {

    public final static void main(String[] args) throws Exception {

        HttpClient httpclient = new DefaultHttpClient();
        try {
            HttpGet httpget = new HttpGet("http://www.cwjobs.co.uk/");
            System.out.println("executing request " + httpget.getURI());

            // Create a response handler
            ResponseHandler<String> responseHandler = new BasicResponseHandler();
            String responseBody = httpclient.execute(httpget, responseHandler);

            System.out.println(responseBody);
        } finally {
            httpclient.getConnectionManager().shutdown();
        }
    }
}

El problema que tengo es que si tuviera que establecer la URL que quiero solicitar en algo como http:// www .google.com y luego imprime la respuesta que necesito. Sin embargo, cuando utilizo una URL como www.cwjobs.co.uk (utilizada simplemente como ejemplo), se congela en el método de ejecución.

Soy bastante nuevo en Java y entiendo los conceptos básicos de HTTP, así que me encantaría saber si: - Aunque he utilizado un ejemplo básico, lo he hecho mal al perder algo que debe agregarse para acceder a esa URL específica - No es posible obtener la respuesta que deseo de esa URL específica debido a la configuración del entorno en el lado del servidor. - Cualquier literatura o enlaces adicionales que pueda recomendarme para que los revise fuera del sitio de Apache.org

Gracias, Marcar

¿Fue útil?

Otros consejos

Este código ahora está obsoleto (obtenga HttpParams, etc.).Una mejor forma es:

RequestConfig defaultRequestConfig = RequestConfig.custom().setCookieSpec(CookieSpecs.BEST_MATCH).setExpectContinueEnabled(true).setStaleConnectionCheckEnabled(true).setTargetPreferredAuthSchemes(Arrays.asList(AuthSchemes.NTLM, AuthSchemes.DIGEST)).setProxyPreferredAuthSchemes(Arrays.asList(AuthSchemes.BASIC)).build();

HttpGet httpGet = new HttpGet(url);    
RequestConfig requestConfig = RequestConfig.copy(defaultRequestConfig).setSocketTimeout(5000).setConnectTimeout(5000).setConnectionRequestTimeout(5000).build();
httpGet.setConfig(requestConfig);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top