1.修改httpclient中源码关于cookie头中的过期时间解析
2.修改注册表解决,Address already in use: connect问题,
1、打开注册表:regedit 2、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\TCPIP\Parameters 3、新建 DWORD值,name:TcpTimedWaitDe,value:30(十进制) –> 设置为30秒,默认是240秒 4、新建 DWORD值,name:MaxUserPort,value:65534(十进制) –> 设置最大连接数65534 5、重启系统
3.如果想重用连接,那就使用连接管理器,从连接管理器里获取连接,然后定时的用连接管理器来释放空闲连接。httpclient自带了SimpleHttpConnectionManager,提供了Java代码
closeIdleConnections(long idleTimeout)
closeIdleConnections(long idleTimeout) 这样的方法。
如果不需要重用链接,则直接在httpmethod创建时,设置一个http头信息就可以了
Java代码
httpmethod.setRequestHeader("Connection", "close");
httpmethod.setRequestHeader("Connection", "close");
这样就不会有恼人的close_wait了。
java -jar -Xmn512m -Xms1024m -Xmx1024m spiderResume.jar
4.修改host文件,解决dns无法解析问题
2.修改注册表解决,Address already in use: connect问题,
1、打开注册表:regedit 2、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\TCPIP\Parameters 3、新建 DWORD值,name:TcpTimedWaitDe,value:30(十进制) –> 设置为30秒,默认是240秒 4、新建 DWORD值,name:MaxUserPort,value:65534(十进制) –> 设置最大连接数65534 5、重启系统
3.如果想重用连接,那就使用连接管理器,从连接管理器里获取连接,然后定时的用连接管理器来释放空闲连接。httpclient自带了SimpleHttpConnectionManager,提供了Java代码
closeIdleConnections(long idleTimeout)
closeIdleConnections(long idleTimeout) 这样的方法。
如果不需要重用链接,则直接在httpmethod创建时,设置一个http头信息就可以了
Java代码
httpmethod.setRequestHeader("Connection", "close");
httpmethod.setRequestHeader("Connection", "close");
这样就不会有恼人的close_wait了。
java -jar -Xmn512m -Xms1024m -Xmx1024m spiderResume.jar
4.修改host文件,解决dns无法解析问题