Groovyで(会社の)Proxyを飛び越えてみる

2021-02-22Groovy

会社で休憩時間に プロキシを超えて通信できないか試してみた。
Sunのテクニカルコミュニティを見て作った。
Proxyクラス には値を設定せず、 Systemクラス に設定している。

overProxy.groovy

import java.net.*;
import java.io.*;

public class URLReader {
    public static void main(String[] args) throws Exception {
        // Configure proxy ...
        System.setProperty("http.proxySet", "true");
        System.setProperty("http.proxyHost", "172.20.1.XXX");
        System.setProperty("http.proxyPort", "8080");
        System.setProperty("http.proxyType", "4");
        String proxyUser = "USER_NAME",
               proxyPassword = "PASSWORD";

        // Open URL ...
        URL url = new URL("http://www.google.com/");
        URLConnection con = url.openConnection();

        //proxy user and pass
        con.setRequestProperty(
            "Proxy-Authorization",
            "Basic " + new sun.misc.BASE64Encoder().encode(
                (proxyUser + ":" + proxyPassword).getBytes()
            )
        );

        BufferedReader input = new BufferedReader(
            new InputStreamReader(
                con.getInputStream()
            )
        );

        // Read it ...
        String inputLine;
        while ((inputLine = input.readLine()) != null)
            System.out.println(inputLine);

        input.close();
    }
}

2021-02-22Groovy