java.net.URLクラスを使用してアクセスがHTTPコード401で失敗する場合(Proxy)

WEBサーバーからHTMLを取得し書き出すプログラムでこんなん出ましたが

java.io.IOException: Server returned HTTP response code: 401...

java.net.Proxyクラスを使って解決してみます。

こんな感じでアクセスできました。

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.InetSocketAddress;
import java.net.Proxy;
import java.net.URL;
import java.net.URLConnection;

public class HtmlPrinter {

  public static void main(String[] args) {
    try {
      
      // プロキシ設定
      Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("...co.jp", 8080));
      
      // 普通は以下だけ(url.openConnection()は引数のプロキシなしで)でOK
      URL url = new URL("http://www.  ...co.jp/");
      URLConnection conn = url.openConnection(proxy);
      
      BufferedReader in = new BufferedReader(new InputStreamReader(
          conn.getInputStream()));
      String line;
      while ((line = in.readLine()) != null) {
        System.out.println(line);
      }
      in.close();
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

職場の環境によっては、必要になったりしますね。