0

我正在使用 apache HTTPClient 4.2。我使用下面的代码来获取 HTTP 状态代码。它给了我404

DefaultHttpClient client = new DefaultHttpClient();
        HttpContext context = new BasicHttpContext();
        HttpUriRequest method = new HttpGet("http://michaelkimsal.com/blog/hosted-solr-or-lucene-service/comment-page-1/#comment-604253");
        try {
            HttpResponse httpResponse = client.execute(method,context);
            int status = httpResponse.getStatusLine().getStatusCode();
            System.out.println("The status is:"+status);
        } catch (ClientProtocolException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

但是,如果将 url 更改为此(我已将 www 添加到 url),http://www.michaelkimsal.com/blog/hosted-solr-or-lucene-service/comment-page-1/#comment-604253它会给我200. 这种行为的原因可能是什么?请有人帮助解决这个问题。

4

1 回答 1

1

http://michaelkimsal.com在您的情况下不是有效的域,浏览器在某些情况下是智能的,可以自动处理这种情况,您应该使用带有 www 的正确域。

编辑请检查这个serverault 和wiki的链接

它适用于谷歌,因为它已经为此完成了 dns 解析设置。您还可以设置别名

于 2012-08-09T06:01:59.097 回答