用动态代码来批量验证Http代理问题[有点难度,感兴趣的进来看看吧,100分]

daimin78 2005-11-04 10:01:01
现有的用HTTPConnection的方法setProxyServer实现
System.getProperties().put( "proxySet", "true" );
System.getProperties().put( "proxyHost", "代理地址" );
System.getProperties().put( "proxyPort", "代理端口" );
因为是System静态方法,预编译的。所以不管设置多少次,在程序运行的时候,一定是最后一次的设置生效。这样就不能切换代理逐一验证了。

不知道有谁做过类似领域的项目,请指点一下
...全文
145 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
daimin78 2005-11-08
  • 打赏
  • 举报
回复
不好意思,昨天有点别的事情忙了,来不及给分,现在补上
jFresH_MaN 2005-11-04
  • 打赏
  • 举报
回复
to jFresH_MaN(十一月的萧邦-夜曲) :
System.setProperty(key,value);是静态方法,在运行前就预编译过了。所以多次设置他也会默认为最后一次生效。
------
当然是使用最后一次的设置啊。
你是设置一次验证一个,然后再设置再验证啊
daimin78 2005-11-04
  • 打赏
  • 举报
回复
to jFresH_MaN(十一月的萧邦-夜曲) :
System.setProperty(key,value);是静态方法,在运行前就预编译过了。所以多次设置他也会默认为最后一次生效。

to liu_you(滴水藏海) :
请问刚才我提的问题,你能回答一下吗?
1、不知道你是否实验过你贴的代码?
2、你是否用HttpClient,是的话,是使用哪个HttpClient?

另外我的jdk是使用1.4.2的,应该不会有问题吧
jFresH_MaN 2005-11-04
  • 打赏
  • 举报
回复
原来你还想多线程的进行验证呀?
那么你想想,这个System的property必须是在同步代码里面的啊。
liu_you 2005-11-04
  • 打赏
  • 举报
回复
用Java编写通过代理访问的应用程序

http://tech.sina.com.cn/s/2004-11-12/1354458406.shtml

具体还可以参考:
http://www.google.com/search?sourceid=navclient&hl=zh-CN&ie=UTF-8&rls=GGLD,GGLD:2005-25,GGLD:zh-CN&q=Authorization+setRequestProperty
liu_you 2005-11-04
  • 打赏
  • 举报
回复
System.setProperty(key,value);
同步的时候会有问题.
jFresH_MaN 2005-11-04
  • 打赏
  • 举报
回复
System.setProperty(key,value);
这样多次设置不行么?
daimin78 2005-11-04
  • 打赏
  • 举报
回复
To liu_you(滴水藏海) :
conn.setRequestProperty( "proxySet", "true");
conn.setRequestProperty( "proxyHost", "代理地址");
conn.setRequestProperty( "proxyPort", "代理端口" );
是直接在http头设置把,我这边这样子写好像不行,代理不生效,不知道你是否实验过代码。

另外,HTTPConnection 是通过HttpClient获得的吧。不过好像有两个HttpClient,一个是http://www.innovation.ch/java/HTTPClient/那边的,还有一个是Jakarta Commons HttpClient 。不知道你应用的是哪一个。
liu_you 2005-11-04
  • 打赏
  • 举报
回复
HTTPConnection conn=...
conn.setRequestProperty( "proxySet", "true");
conn.setRequestProperty( "proxyHost", "代理地址");
conn.setRequestProperty( "proxyPort", "代理端口" );
liu_you 2005-11-04
  • 打赏
  • 举报
回复
to楼主:
请问刚才我提的问题,你能回答一下吗?
1、不知道你是否实验过你贴的代码?
2、你是否用HttpClient,是的话,是使用哪个HttpClient?

末有,实现BASIC认证的时候翻过这些资料,嘿嘿...
daimin78 2005-11-04
  • 打赏
  • 举报
回复
今天是周末,我下周一再结贴把。

经过下午的努力,用http://www.innovation.ch/java/HTTPClient/下载的httpclient
HTTPConnection.setProxyServer(proxyHost, proxyPort);
能够实现多代理替换了,现在困扰在不能改变http请求头。
本来用HttpURLConnection来实现连接的话,conn.setRequestProperty("Accept","*/*");就能很轻松的改变http请求头,现在改用HTTPConnection类后,找不到改变head的方法了,郁闷

62,629

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧