midnight3009
Grünschnabel
Hi,
ich versuche mit org.apache.commons.httpclient.HttpClient
über einen proxy Bilder von einer URL herunterzuladen.
Die Anforderung ist: Falls der Proxy nicht erreichbar ist, zu versuchen die URL auf direktem Weg anzusprechen.
Leider scheinen alle Timeout Parameter immer nur auf die Connection zu wirken, die der Proxy herstellen soll.
Wenn der Proxy nicht erreichbar ist, hängt HttpClientParams fast 2 Min, bis er abbricht. Wie kann ich dafür ein Timeout konfigurieren?
ich versuche mit org.apache.commons.httpclient.HttpClient
über einen proxy Bilder von einer URL herunterzuladen.
Die Anforderung ist: Falls der Proxy nicht erreichbar ist, zu versuchen die URL auf direktem Weg anzusprechen.
Leider scheinen alle Timeout Parameter immer nur auf die Connection zu wirken, die der Proxy herstellen soll.
Wenn der Proxy nicht erreichbar ist, hängt HttpClientParams fast 2 Min, bis er abbricht. Wie kann ich dafür ein Timeout konfigurieren?
Code:
HttpClientParams params = new HttpClientParams();
params.setConnectionManagerTimeout(1000); //timeout in milliseconds
params.setParameter("http.protocol.version", HttpVersion.HTTP_1_0);
params.setParameter("http.protocol.content-charset", "UTF-8");
HttpClient client = new HttpClient(params);
if (proxyHost != null && proxyPort != 0) {
client.getHostConfiguration().setProxy(proxyHost, proxyPort);
} else System.out.println("no proxy Settings, using ebayimg.com direct");
GetMethod method = new GetMethod("http://i2.sandbox.ebayimg.com/03/m/00/07/70/26_27.JPG");
method.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler(1, false));
method.getParams().setParameter(HttpMethodParams.SO_TIMEOUT, 1);
try {
// hängt hier
int statusCode = client.executeMethod(method);
if (statusCode == HttpStatus.SC_OK) {
.......