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(); } } }
職場の環境によっては、必要になったりしますね。