我刚开始使用Java网络协议工作。我正尝试使用我的代理服务器连接到互联网。当我看到'https://www.tutorialspoint.com/javaexamples/net_poxy.htm'的帖子时,他们将http.proxyHost属性设置为'proxy.mycompany1.local'。我知道我可以将它设置为我的代理服务器IP,但我很想知道为什么我的程序仍然有效,尽管我将它设置为一些随机字符串,如“abcd”。什么是'proxy.mycompany1.local'
A.什么是“proxy.mycompany1.local “代表什么?
B.我的程序怎么来的作品,即使我设置http.proxyHost”,以 “ABCD”?
以下是我的工作程序:
import java.net.HttpURLConnection;
import java.net.InetSocketAddress;
import java.net.Proxy;
import java.net.ProxySelector;
import java.net.URI;
import java.net.URL;
public class TestProxy {
public static void main(String s[]) throws Exception {
try {
System.setProperty("http.proxyHost", "abcd");
System.setProperty("http.proxyPort", "8080");
URL u = new URL("http://www.google.com");
HttpURLConnection con = (HttpURLConnection) u.openConnection();
System.out.println(con.getResponseCode() + " : " + con.getResponseMessage());
} catch (Exception e) {
e.printStackTrace();
System.out.println(false);
}
Proxy proxy = (Proxy) ProxySelector.getDefault().select(new URI("http://www.google.com")).iterator().next();
System.out.println("proxy Type : " + proxy.type());
InetSocketAddress addr = (InetSocketAddress) proxy.address();
if (addr == null) {
System.out.println("No Proxy");
} else {
System.out.println("proxy hostname : " + addr.getHostName());
System.out.println("proxy port : " + addr.getPort());
}
}
}
这是输出:
所有的200 : OK
proxy Type : HTTP
proxy hostname : abcd
proxy port : 8080