2016-05-18 10 views
1

Ich habe ein Problem, wo ich eine HTTP-Anfrage auslösen, um die Header wie folgt zu erhalten. Mein Ziel ist es zu überprüfen, dass, wenn ich die Anfrage abbringe, eine Antwort zurück zu mir gegeben wird.httpHead und httpClient geben 503

try { 
     HttpHead headReq = new HttpHead(imageUrl); 
     response = (CloseableHttpResponse) httpClient.execute(headReq); 
     StatusLine sl = response.getStatusLine(); 
     if (sl.getStatusCode() == 200) { 
      //do something 
     } 

    } catch (Exception e) { 
     LOG.error(e.getMessage()); 
    } finally { 
     try { 
      response.close(); 
     } catch (Exception e) { 
      LOG.error(e.getMessage()); 
     } 
    } 

Ich erhalte eine HTTP/1.0 503 Dienst nicht verfügbar, obwohl ich die URL wissen vorhanden ist, wenn ich es in meinem Browser getroffen. Ich muss hier etwas falsch machen. Kann mir jemand helfen, es zu sehen?

dank

+0

Besitzen Sie den Server? – sonique

+1

Es ist in meiner Firma, aber wir sind nicht die Besitzer – Richie

+0

Vielleicht müssen Sie einen Proxy verwenden, um darauf zuzugreifen. – SubOptimal

Antwort

1

Vielleicht den User-Agent sie überprüfen, versuchen Sie es zu schmieden:

setRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36");

Aber es ist auf jeden Fall Seite Server, sollten Sie Ihr Team fragen, vielleicht einige Parameter fehlen.

+0

danke. Ich habe herausgefunden, dass das Problem mit der Kommunikation zwischen den beiden Servern zu tun hat. – Richie