2015-05-11 141 views
0

我建立一个使用Apache的HttpClient的Java应用程序,而我只能这样做:HTTP状态代码406,没有其他

HttpGet getRequest = new HttpGet("http://whois.arin.net/rest/ip/..."); 

getRequest.addHeader("accept", "application/json"); 

HttpResponse response = httpClient.execute(getRequest); 

response.getStatusLine().getStatusCode() ---> returns 200 and 406 

当我在我的本地Mac上运行,它工作正常,当我在我的公司网络上运行时,我得到了'406'。 为什么它可以在本地运行,而不是在我的公司网络上运行?

回答

0

我怀疑你的公司有一个拦截代理,它检查HTTP流量进出。代理人可能想要检查实际的请求/响应主体。在这种情况下,代理在您的请求中不了解application/json,因此它拒绝让它通过。