2016-05-18 43 views
1

我有一个问题,我发射一个http请求来获取这样的头。我的目标是检查当我发起请求时,回复给我的回复。httpHead和httpClient给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()); 
     } 
    } 

即使我知道URL存在,当我在浏览器中打开它时,我总是收到HTTP/1.0 503服务不可用。我在这里肯定有些事情做错了。任何人都可以帮助我看到它。

感谢

+0

你是否拥有服务器? – sonique

+1

这是我的公司,但我们不是业主 – Richie

+0

也许你需要使用代理来访问它。 – SubOptimal

回答

1

也许他们检查用户代理,试图伪造它:

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");

但它绝对是服务器端,你应该问你的团队,也许有些参数丢失。

+0

谢谢。我确实发现问题在于两台服务器之间的通信。 – Richie