LHuly 2016-04-21 04:40 采纳率: 0%
浏览 4477

请问关于java 通过http client抓取网页信息返回:请开启JavaScript并刷新该页

初学httpClient,想去抓取某个网页查询出来的结果信息,通过浏览器监控发现response出来的信息和java控制台打印出来的不一样。

 package com.test;

import java.io.IOException;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.ResponseHandler;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;

public class Test2 {

    public static void main(String[] args) {
        try {
            CloseableHttpClient httpclient = HttpClients.createDefault();
            ResponseHandler<String> responseHandler = new ResponseHandler<String>() {
                public String handleResponse(final HttpResponse response)
                        throws ClientProtocolException, IOException {
                    int status = response.getStatusLine().getStatusCode();
                    if (status >= 200 && status < 300) {
                        HttpEntity entity = response.getEntity();
                        return entity != null ? EntityUtils.toString(entity,
                                "utf-8") : null;
                    } else {
                        throw new ClientProtocolException(
                                "Unexpected response status: " + status);
                    }
                }
            };
            HttpGet httpGet = new HttpGet("http://zhixing.court.gov.cn/search");
            String strResult = httpclient.execute(httpGet, responseHandler);
            System.out.println(strResult);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}

控制台打印图片说明

  • 写回答

6条回答

  • threenewbee 2016-04-21 21:52
    关注

    看你传的useragent是什么,最好和你的浏览器的一致,应该是服务器端有判断ua。

    评论

报告相同问题?

悬赏问题

  • ¥15 stm32流水灯+呼吸灯+外部中断按键
  • ¥15 将二维数组,按照假设的规定,如0/1/0 == "4",把对应列位置写成一个字符并打印输出该字符
  • ¥15 NX MCD仿真与博途通讯不了啥情况
  • ¥15 win11家庭中文版安装docker遇到Hyper-V启用失败解决办法整理
  • ¥15 gradio的web端页面格式不对的问题
  • ¥15 求大家看看Nonce如何配置
  • ¥15 Matlab怎么求解含参的二重积分?
  • ¥15 苹果手机突然连不上wifi了?
  • ¥15 cgictest.cgi文件无法访问
  • ¥20 删除和修改功能无法调用