Revert " 刷新代理api重构,需要提供旧代理,如果依然是旧代理,才进行刷新,防止应延迟响应造成的过度刷新"

This reverts commit 0aa2c3949d.
pull/993/head
Sutra Zhou 4 years ago
parent 3f756c9325
commit 4bedd97267

@ -426,7 +426,7 @@ public class Spider implements Runnable, Task {
}
} else if(site.getRefreshCode().contains(page.getStatusCode())) {
logger.info("page status code error, page {} , code: {}, start refresh downloader", request.getUrl(), page.getStatusCode());
failHandler(request);
downloader.refreshComponent(this);
}else {
logger.info("page status code error, page {} , code: {}", request.getUrl(), page.getStatusCode());
}
@ -435,11 +435,6 @@ public class Spider implements Runnable, Task {
}
private void onDownloaderFail(Request request) {
failHandler(request);
}
private void failHandler(Request request){
downloader.refreshComponent(this);
if (site.getCycleRetryTimes() == 0) {
sleep(site.getSleepTime());
} else {

@ -54,7 +54,7 @@ public class HttpClientDownloader extends AbstractDownloader {
this.refreshClientOnError = clientOnError;
}
public void setRefreshProxyOnError(Predicate<Throwable> proxyOnError) {
this.refreshProxyOnError = proxyOnError;
this.refreshProxyOnError = refreshProxyOnError;
}
public void setHttpUriRequestConverter(HttpUriRequestConverter httpUriRequestConverter) {
@ -94,7 +94,7 @@ public class HttpClientDownloader extends AbstractDownloader {
logger.warn("download page {} error", request.getUrl(), e);
onError(request, e, proxyProvider);
if (proxyProvider != null && refreshProxyOnError.test(e)) {
proxyProvider.refreshProxy(task,proxy);
proxyProvider.refreshProxy(task);
}
if(refreshClientOnError.test(e)) {
httpClients.remove(task.getSite().getDomain());
@ -115,7 +115,7 @@ public class HttpClientDownloader extends AbstractDownloader {
@Override
public void refreshComponent(Task task) {
if (proxyProvider != null ) {
proxyProvider.refreshProxy(task,proxyProvider.getCurrentProxy(task));
proxyProvider.refreshProxy(task);
}
httpClients.remove(task.getSite().getDomain());

@ -143,7 +143,6 @@ public class HttpClientGenerator {
SocketConfig.Builder socketConfigBuilder = SocketConfig.custom();
socketConfigBuilder.setSoKeepAlive(true).setTcpNoDelay(true);
socketConfigBuilder.setSoTimeout(site.getTimeOut());
SocketConfig socketConfig = socketConfigBuilder.build();
httpClientBuilder.setDefaultSocketConfig(socketConfig);
connectionManager.setDefaultSocketConfig(socketConfig);

@ -23,19 +23,8 @@ public interface ProxyProvider {
* IPIPIP使
*
* @param task
* @param proxy
*/
void refreshProxy(Task task,Proxy proxy);
/**
*
*
*
* @param task
* @return
*/
Proxy getCurrentProxy(Task task);
void refreshProxy(Task task);
/**
* Get a proxy for task by some strategy.

@ -31,12 +31,7 @@ public class SimpleProxyProvider implements ProxyProvider {
}
@Override
public Proxy getCurrentProxy(Task task) {
return null;
}
@Override
public void refreshProxy(Task task,Proxy proxy) {
public void refreshProxy(Task task) {
}

Loading…
Cancel
Save