火鸡味儿锅巴 2022-03-26 15:09 采纳率: 50%
浏览 17
已结题

http长连接获取html,cookies改变时获取到的html未发生变化


 public static String sendGetByParam(String url, final List<Header> headerList, final List<NameValuePair> paramList,
        final int reSend) {
        //声明返回结果
        String result = "";
        //开始请求API接口时间
        TimeInterval timer = DateUtil.timer();
        //请求API接口的响应时间
        long endTime = 0L;
        HttpEntity httpEntity = null;
        CloseableHttpResponse httpResponse = null;
        CloseableHttpClient httpClient = null;
        try {
            // 创建连接
            httpClient = HttpClientFactory.getInstance().getHttpClient();
            //创建URIBuilder
            URIBuilder uriBuilder = new URIBuilder(url);
            if (CollUtil.isNotEmpty(paramList)) {
                for (NameValuePair nm : paramList) {
                    //设置参数
                    uriBuilder.setParameter(nm.getName(), nm.getValue());
                }
            }
            url = uriBuilder.build().toString();
            LOG.info("请求URL;{}", url);

            // 设置请求头和报文
            final HttpGet httpGet = HttpClientFactory.getInstance().httpGet(url);
            if (CollUtil.isNotEmpty(headerList)) {
                httpGet.setHeaders(headerList.toArray(new Header[0]));
            }
            httpGet.setHeader("User-Agent",
                "Mozilla/5.0(Windows NT 6.1;Win64; x64; rv:50.0) Gecko/20100101 Firefox/50.0");
            httpGet.setHeader("cache-control", "no-store, no-cache, must-revalidate");
            //执行发送,获取相应结果
            httpResponse = httpClient.execute(httpGet);
            httpEntity = httpResponse.getEntity();
            result = EntityUtils.toString(httpEntity);
        } catch (final Exception e) {
            LOG.error("请求:{}接口出现异常", url, e);
            if (reSend > 0) {
                LOG.info("请求:{}出现异常:{},进行重发。进行第:{}次重发", url, e.getMessage(), (HttpConstant.REQ_TIMES - reSend + 1));
                result = sendPostByParam(url, headerList, paramList, reSend - 1);
                if (result != null && !"".equals(result)) {
                    return result;
                }
            }
        } finally {
            try {
                EntityUtils.consume(httpEntity);

            } catch (final IOException e) {
                LOG.error("http请求释放资源异常", e);
            }
        }
        LOG.info("spendtime:{},url:{},result:{}", timer.interval(), url, result);
        return result;
    }
  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 4月3日
    • 创建了问题 3月26日

    悬赏问题

    • ¥15 Linux环境下CA证书更新问题
    • ¥15 sqlserver语句提取结果以外数据
    • ¥60 微信小程序如何上传QQ聊天文件
    • ¥300 开发的系统遭到无良商家的破解,请问如何防止再次发生,并追回损失
    • ¥15 java代码写在记事本上后在cmd上运行时无报错但又没生成文件
    • ¥15 关于#python#的问题:在跑ldsc数据整理的时候一直抱这种错误,要么--out识别不了参数,要么--merge-alleles识别不了参数(操作系统-linux)
    • ¥15 PPOCRLabel
    • ¥15 混合键合键合机对准标识
    • ¥100 现在不懂的是如何将当前的相机中的照片,作为纹理贴图,映射到扫描出的模型上
    • ¥15 安卓OpenCV人脸识别分类器加载