2010-03-28 27 views
10

Tôi đang cố gắng đặt chuỗi tác nhân người dùng của mình trong đối tượng apache HttpClient trong Java nhưng tôi không thể tìm hiểu cách thực hiện.Đặt tác nhân người dùng trong httpclient Java và cho phép chuyển hướng đến đúng

Vui lòng trợ giúp!

Ngoài ra tôi đang cố gắng bật chuyển hướng đến đúng nhưng cũng không thể tìm thấy tùy chọn này trong đối tượng HttpClient.

Cảm ơn

Andy

Trả lời

18
HttpClient httpclient = new HttpClient(); 
httpclient.getParams().setParameter(
    HttpMethodParams.USER_AGENT, 
    "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2" 
); 
+3

Tôi dường như không có quyền truy cập vào gói HttpMethodParams ... – RenegadeAndy

+0

'org.apache.commons.httpclient.params.HttpMethodParams': http://hc.apache.org/httpclient-3.x/apidocs/org /apache/commons/httpclient/params/HttpMethodParams.html –

+0

Hmm - im không sử dụng bất kỳ ats lib nào, dưới org.apache.commons tất cả những gì tôi có là đăng nhập .... bạn có thể chỉ cho tôi biết chuỗi thích hợp để đặt trong đó không HttpMethodParams.USER_AGENT thực sự tuân theo – RenegadeAndy

20

Với HttpClient 4.0, sau đây làm việc cho tôi:

import org.apache.http.params.HttpProtocolParams; 

HttpClient httpclient = new HttpClient(); 
HttpProtocolParams.setUserAgent(httpclient.getParams(), "My fancy UA"); 

HttpProtocolParams nằm trong tập tin httpcore JAR: http://hc.apache.org/httpcomponents-core/download.html

+0

liên kết của bạn đã chết – Radon8472

1

Sử dụng AndroidHttpClient, và chuyển tác nhân người dùng làm tham số cho n ewInstance:

AndroidHttpClient client = AndroidHttpClient.newInstance(String userAgent); 

Có nhiều lý do khác để sử dụng AndroidHttpClient thay vì HttpClient thô.

Các vấn đề liên quan