httpclient 4.3 自定义 header问题

发布于 2022-08-29 16:42:29 字数 1103 浏览 9 评论 0

PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager();
        cm.setMaxTotal(MAX_CONNECTIONS);
        cm.setDefaultMaxPerRoute(MAX_CONNECTIONS);
        httpClient = HttpClients.custom()
                .setConnectionManager(cm)
                .setDefaultHeaders(defaultHeader())
                .build();

private List<Header> defaultHeader() {
    ArrayList<Header> headers = new ArrayList<Header>();
    Header header = new BasicHeader(HttpHeaders.USER_AGENT, UserAgent);
    headers.add(header);
    if (!StringUtils.isEmpty(referer)) {
        headers.add(new BasicHeader(HttpHeaders.REFERER, referer));
    }
    if (!StringUtils.isEmpty(cookie)) {
        headers.add(new BasicHeader("Cookie", cookie));
    }
    return headers;
}

请求PHP返回的数据

[HTTP_CONNECTION] => Keep-Alive
[HTTP_USER_AGENT] => Apache-HttpClient/4.3.3 (java 1.5)

怎么header 中的 USER_AGENT 还是默认的呢?

如果在这里设置header 就没问题
HttpGet request = new HttpGet(url);
request.addHeader(HttpHeaders.USER_AGENT, UserAgent);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文