java获取url状态码问题 100

拿出一个会跳转的网页,结果还是返回200,这是代码,我在浏览器上输入这个地址,跳转了,但是java获取的状态码还是200?怎么回事,试了好多发现,除非特殊格式的url,比... 拿出一个会跳转的网页,结果还是返回200,

这是代码,我在浏览器上输入这个地址,跳转了,但是java获取的状态码还是200?怎么回事,试了好多发现,除非特殊格式的url,比如adfsdf.asdfds.com,这样的,我打个11.bravousz.com都能200,我浏览器打开这个网页根本就没有,
展开
 我来答
soysource
2015-08-25 · TA获得超过400个赞
知道小有建树答主
回答量:370
采纳率:0%
帮助的人:290万
展开全部

httpclient默认自动处理redirect,返回200是因为它已经自动跳转了,如果想抓到301状态,可以手动修改跳转规则(以下代码基于httpclient 4.5):

public static void main(String[] args) {
        CloseableHttpClient 
httpclient = HttpClients.custom().setRedirectStrategy(new 
DefaultRedirectStrategy() {                
            public boolean isRedirected(HttpRequest request, HttpResponse response, HttpContext context)  {
                return false;
            }}).build();
        HttpClientContext context = HttpClientContext.create();
        HttpGet httpget = new HttpGet("
);
        CloseableHttpResponse response = null;
        try {
            response = httpclient.execute(httpget, context);
            HttpHost target = context.getTargetHost();
            List<URI> redirectLocations = context.getRedirectLocations();
            URI location = URIUtils.resolve(httpget.getURI(), target, redirectLocations);
            System.out.println("Final HTTP location: " + location.toASCIIString());
            System.out.println(response.getStatusLine());
            // Expected to be an absolute URI
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } finally {
            try {
                response.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
七沐川
2015-08-25 · 超过27用户采纳过TA的回答
知道答主
回答量:66
采纳率:0%
帮助的人:58.2万
展开全部
在返回前,清理下缓存,你问的问题是每次状态码都是成功的,而实际你是想测找不到的网址给出错误的状态码吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式