作者:家居猫
在 java 中代理服务器的基本设置是通过设置系统属性来完成的。而代理服务器的验证则是通过设置 http 请求头来完成的。
下面的是一个简单的例子供大家参考:
// 根据地址 url 打开 http 连接
httpurlconnection con = (httpurlconnection)( new url( url ) ).openconnection();
if (proxy.hasproxy()) {
// 注意: 如果 proxyset 为 false 时,依然设置了 proxyhost 和 proxyport,代理设置仍会起作用。
// 如果 proxyport 设置有问题,代理设置不会起作用。
system.getproperties().put( "proxyset", "true" );
system.getproperties().put( "proxyhost", proxy.getproxyhost() );
system.getproperties().put( "proxyport", string.valueof( proxy.getproxyport() ) );
// 如果需要代理服务器验证,在 http 请求头中加入 proxy-authorization 头,
// 格式为: "basic " + ("代理服务器用户名:密码"的 base64 编码)
if (proxy.needauth()) {
con.setrequestproperty( "proxy-authorization", "basic " + encoder.base64encode( proxy.getproxyuser() + ":" + proxy.getproxypass() ) );
}
}
--摘自 http://www.javaidea.net
闽公网安备 35060202000074号