怎么通过代理访问网络?

  我帮人做一个这样测试程序,他有个搜索网站,我的程序要对他的搜索网站发送大量的搜索请求以测试它的压力,经过我的测试他的网站在一个时间段内对一个IP的发送量有限制,每次发送到1200左右,就再也发送不上(抛出异常为:java.net.SocketException: Unexpected end of file from server),换一个IP或者隔一段时间(这个时间不止一两分钟咯)就好了。

  所以,我想是否能通过网上搜索代理IP,然后每个线程使用一个IP来对他进行发送,从而避免它在一个时间段内的IP发送量的限制。

  这样就会有几个问题: 1、首先网上搜索代理IP,这种办法是否行得通?如果行的话,怎么网上所搜可用代理IP。2、多线程,每个线程使用一个IP上网,也就是一台机器同时使用多个IP上网,这能行吗?

谢谢,有经验的同道予以指教!谢谢!
问题补充

阳光晒晒 写道
1.你是作网站搜索的么?找个好点的代理发布网站解析就行了

2.不知道应该可以

3.httpClient.getHostConfiguration().setProxy(hostName,port);



谢谢!HttpClient是指那个开源的组件不?

找到一个多线程的例子
http://tech.ddvip.com/2008-09/122155634865849.html
不知道是不是你想要的: 你可以试试
[quote]
 8.多线程模式下使用httpclient

  多线程同时访问httpclient,例如同时从一个站点上下载多个文件。对于同一个HttpConnection同一个时间只能有一个线程访问,为了保证多线程工作环境下不产生冲突,httpclient使用了一个多线程连接管理器的类:MultiThreadedHttpConnectionManager,要使用这个类很简单,只需要在构造HttpClient实例的时候传入即可,代码如下:

[code="java"]  MultiThreadedHttpConnectionManager connectionManager = new MultiThreadedHttpConnectionManager();

  HttpClient client = new HttpClient(connectionManager);[/code]

  以后尽管访问client实例即可。[/quote]

要把你写的代码发上来让我们也学习一下噢

1.你是作网站搜索的么?找个好点的代理发布网站解析就行了
2.不知道应该可以
3.httpClient.getHostConfiguration().setProxy(hostName,port);

我刚刚用org.apache.common.httpclient来作假客户端去连google翻译

URL url = new URL("http://www.baidu.com");
// 创建代理服务器
InetSocketAddress addr = new InetSocketAddress("192.168.0.254",
8080);
// Proxy proxy = new Proxy(Proxy.Type.SOCKS, addr); // Socket 代理
Proxy proxy = new Proxy(Proxy.Type.HTTP, addr); // http 代理
// 如果我们知道代理server的名字, 可以直接使用
URLConnection conn = url.openConnection(proxy);