test for SimpleProxyProvider #535
parent
eb632a93d3
commit
cbf80af5dd
|
@ -39,7 +39,7 @@ public class HttpUriRequestConverter {
|
||||||
|
|
||||||
private HttpClientContext convertHttpClientContext(Request request, Site site, Proxy proxy) {
|
private HttpClientContext convertHttpClientContext(Request request, Site site, Proxy proxy) {
|
||||||
HttpClientContext httpContext = new HttpClientContext();
|
HttpClientContext httpContext = new HttpClientContext();
|
||||||
if (proxy != null) {
|
if (proxy != null && proxy.getUsername() != null) {
|
||||||
AuthState authState = new AuthState();
|
AuthState authState = new AuthState();
|
||||||
authState.update(new BasicScheme(), new UsernamePasswordCredentials(proxy.getUsername(), proxy.getPassword()));
|
authState.update(new BasicScheme(), new UsernamePasswordCredentials(proxy.getUsername(), proxy.getPassword()));
|
||||||
httpContext.setAttribute(HttpClientContext.PROXY_AUTH_STATE, authState);
|
httpContext.setAttribute(HttpClientContext.PROXY_AUTH_STATE, authState);
|
||||||
|
|
|
@ -10,12 +10,15 @@ import org.apache.http.client.methods.HttpUriRequest;
|
||||||
import org.apache.http.impl.client.CloseableHttpClient;
|
import org.apache.http.impl.client.CloseableHttpClient;
|
||||||
import org.apache.http.impl.client.HttpClients;
|
import org.apache.http.impl.client.HttpClients;
|
||||||
import org.apache.http.util.EntityUtils;
|
import org.apache.http.util.EntityUtils;
|
||||||
|
import org.junit.Ignore;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import us.codecraft.webmagic.Page;
|
import us.codecraft.webmagic.Page;
|
||||||
import us.codecraft.webmagic.Request;
|
import us.codecraft.webmagic.Request;
|
||||||
import us.codecraft.webmagic.Site;
|
import us.codecraft.webmagic.Site;
|
||||||
import us.codecraft.webmagic.Task;
|
import us.codecraft.webmagic.Task;
|
||||||
import us.codecraft.webmagic.model.HttpRequestBody;
|
import us.codecraft.webmagic.model.HttpRequestBody;
|
||||||
|
import us.codecraft.webmagic.proxy.Proxy;
|
||||||
|
import us.codecraft.webmagic.proxy.SimpleProxyProvider;
|
||||||
import us.codecraft.webmagic.selector.Html;
|
import us.codecraft.webmagic.selector.Html;
|
||||||
import us.codecraft.webmagic.utils.CharsetUtils;
|
import us.codecraft.webmagic.utils.CharsetUtils;
|
||||||
import us.codecraft.webmagic.utils.HttpConstant;
|
import us.codecraft.webmagic.utils.HttpConstant;
|
||||||
|
@ -217,4 +220,16 @@ public class HttpClientDownloaderTest {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Ignore("need proxy server")
|
||||||
|
@Test
|
||||||
|
public void test_download_by_SimpleProxyProvider(){
|
||||||
|
HttpClientDownloader httpClientDownloader = new HttpClientDownloader();
|
||||||
|
httpClientDownloader.setProxyProvider(SimpleProxyProvider.from(new Proxy("127.0.0.1", 1087)));
|
||||||
|
Request request = new Request();
|
||||||
|
request.setUrl("https://www.baidu.com");
|
||||||
|
Page page = httpClientDownloader.download(request, Site.me().toTask());
|
||||||
|
assertThat(page.isDownloadSuccess());
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue