これをやると...
conn = new URL(urlString).openConnection();
System.out.println("Proxy? " + conn.usingProxy());
印刷する
Proxy? false
問題は、私がプロキシの背後にいるということです。 JVMはWindowsのどこからプロキシ情報を取得しますか?これを設定するにはどうすればよいですか?私の他のアプリはすべて、プロキシに完全に満足しているようです。
Java 1.5以降では、- Java.net.Proxy インスタンスを openConnection(proxy)
メソッドに渡すこともできます。
//Proxy instance, proxy ip = 10.0.0.1 with port 8080
Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("10.0.0.1", 8080));
conn = new URL(urlString).openConnection(proxy);
プロキシで認証が必要な場合、407が返されます。
この場合、次のコードが必要です。
Authenticator authenticator = new Authenticator() {
public PasswordAuthentication getPasswordAuthentication() {
return (new PasswordAuthentication("user",
"password".toCharArray()));
}
};
Authenticator.setDefault(authenticator);
これは、インターネットから簡単に回答できます。システムプロパティhttp.proxyHost
およびhttp.proxyPort
を設定します。これを行うには、System.setProperty()
を使用するか、コマンドラインから-D
構文を使用します。
プロキシは、http.proxyHostとhttp.proxyPortの2つのシステムプロパティを通じてサポートされます。これらは、それぞれプロキシサーバーとポートに設定する必要があります。次の基本的な例で説明します。
String url = "http://www.google.com/",
proxy = "proxy.mydomain.com",
port = "8080";
URL server = new URL(url);
Properties systemProperties = System.getProperties();
systemProperties.setProperty("http.proxyHost",proxy);
systemProperties.setProperty("http.proxyPort",port);
HttpURLConnection connection = (HttpURLConnection)server.openConnection();
connection.connect();
InputStream in = connection.getInputStream();
readResponse(in);
Connectionを開く前に以下を設定します。
System.setProperty("http.proxyHost", "Host");
System.setProperty("http.proxyPort", "port_number");
プロキシに認証が必要な場合、
System.setProperty("http.proxyUser", "user");
System.setProperty("http.proxyPassword", "password");
設定することもできます
-Djava.net.useSystemProxies=true
WindowsとLinuxでは、これはシステム設定を使用するので、自分で繰り返す必要はありません(DRY)
http://docs.Oracle.com/javase/7/docs/api/Java/net/doc-files/net-properties.html#Proxies
Java 1.8以降の場合、-Djdk.http.auth.tunneling.disabledSchemes=
を設定して、httpsで動作する基本認証のプロキシを作成する必要があります。
承認済みの回答は機能します...プロキシホストとポートがわかっている場合=)ただし、プロキシホストとポートを探している場合は、以下の手順が役立ちます
自動構成されたプロキシが指定されている場合:その後
1> IE(または任意のブラウザー)を開きます
2> IEからブラウザからURLアドレスを取得->ツール->インターネットオプション->接続-> LAN設定->アドレスを取得してURLを指定例:as http:// autocache .abc.com / と入力すると、ファイルが.pac形式でダウンロードされ、デスクトップに保存されます
3>テキストパッドで.pacファイルを開き、PROXYを識別します。
エディターでは、次のようになります。
return "PROXY web-proxy.ind.abc.com:8080; PROXY proxy.sgp.abc.com:8080";
5分間で動作しない mavenからbekurする称賛
ホストとポートを用意したら、これにアクセスしてください。
Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("web-proxy.ind.abc.com", 8080));
URLConnection connection = new URL(url).openConnection(proxy);