首页 > httpclient 4.3 自定义 header问题

httpclient 4.3 自定义 header问题

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);

【热门文章】
【热门文章】