7
Câu hỏi: Làm cách nào để thêm proxy ủy quyền vào OkHTTP.Xác thực proxy OkHTTPClient làm cách nào?
Tôi biết rằng công cụ xây dựng của OkHTTP does support proxies mặc dù tôi đang gặp khó khăn trong việc thiết lập.
/**
* Given a Url and a base64 encoded password return the contents of a website.
* @param urlString
* @param password
* @return JSON
*/
public String getURLJson(String urlString, String password) {
OkHttpClient client = new OkHttpClient.Builder()
.connectTimeout(60, TimeUnit.SECONDS)
.writeTimeout(60, TimeUnit.SECONDS)
.readTimeout(60, TimeUnit.SECONDS)
.build();
Request request = new Request.Builder()
.url(urlString)
.get()
.addHeader("authorization", "Basic " + password)
.addHeader("cache-control", "no-cache")
.build();
Response response = null;
try {
response = client.newCall(request).execute();
String string = response.body().string();
response.body().close();
return string;
} catch (IOException e) {
System.err.println("Failed scraping");
e.printStackTrace();
}
return "failed";
}
Tôi có IP/cổng/tên người dùng/mật khẩu.
Mặc dù tôi không biết cách biến chúng thành một số Proxy proxy
mà sau đó có thể được sử dụng trong ứng dụng khách.SetProxy().
Có vẻ như quá phức tạp và tôi dường như không thể hiểu được. Bất kỳ trợ giúp sẽ được đánh giá cao.
Nó dường như không xác thực proxy. Tôi đã quản lý để làm cho nó hoạt động với một dòng lệnh 'curl -x user: passS @ proxy: cổng address' với những chi tiết này mặc dù aove của bạn dường như không xác thực. Tôi nhận được thông báo lỗi 'Truy cập bị từ chối (authentication_failed)' – Liably
Mã phản hồi HTTP nào? Với trình xác thực proxy OkHttp sẽ thử lại để xác thực lại proxy trước khi hiển thị lỗi đó cho người gọi. –
Đối với tôi cũng không hoạt động. Tôi luôn nhận được Yêu cầu xác thực proxy 407 trở lại. Và curl đang làm việc. – Robinho