Commit cbf80af5 authored by yihua.huang's avatar yihua.huang

test for SimpleProxyProvider #535

parent eb632a93
...@@ -39,7 +39,7 @@ public class HttpUriRequestConverter { ...@@ -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; ...@@ -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 { ...@@ -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());
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment