找了好久都没有一个完整的例子,看大家的代码学习了下java中代理发送请求的方法。做个记录。
后来发现这个方法好像会被某些对于浏览器有过滤的服务器过滤,貌似应该加上一个报文头,以后有时间再改。如果有参见代码的人希望大家注意这一点。
package com.neusoft.maaic.tiapi.test;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import org.apache.axis.encoding.Base64;
public class WebClient {
public static void main(String[] args) {
try {
System.setProperty("http.proxyHost", "代理地址");
System.setProperty("http.proxyPort", "代理端口");
URL url=new URL("http://server地址?参数1=参数1的值&参数2=参数2的值。。。。。");
URLConnection uc = url.openConnection();
String encoded = new String(Base64.encode(new String("用户名:密码").getBytes()));
uc.setRequestProperty("Proxy-Authorization", "Basic " + encoded);
uc.connect();
BufferedReader rd = new BufferedReader(new InputStreamReader(uc.getInputStream()));
String line;
while ((line = rd.readLine()) != null) {
System.out.println(line);
}
rd.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}