summaryrefslogtreecommitdiffstats
path: root/src/test/java/com/btr/proxy/selector/pac/PacProxyDebugging.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/com/btr/proxy/selector/pac/PacProxyDebugging.java')
-rw-r--r--src/test/java/com/btr/proxy/selector/pac/PacProxyDebugging.java103
1 files changed, 103 insertions, 0 deletions
diff --git a/src/test/java/com/btr/proxy/selector/pac/PacProxyDebugging.java b/src/test/java/com/btr/proxy/selector/pac/PacProxyDebugging.java
new file mode 100644
index 0000000..695bc3a
--- /dev/null
+++ b/src/test/java/com/btr/proxy/selector/pac/PacProxyDebugging.java
@@ -0,0 +1,103 @@
+package com.btr.proxy.selector.pac;
+
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.LineNumberReader;
+import java.net.ProxySelector;
+import java.net.URL;
+import java.net.URLConnection;
+import java.text.MessageFormat;
+
+import com.btr.proxy.search.ProxySearch;
+import com.btr.proxy.util.Logger;
+import com.btr.proxy.util.Logger.LogLevel;
+
+/*****************************************************************************
+ * Test program submitted to test the issue 27 with PAC proxy selector that is
+ * while downloading the PAC file invoking itself. This has lead to a endless
+ * loop. The issue is now solved but I keep this test program for future PAC
+ * testing.
+ *
+ * @author Bernd Rosstauscher (proxyvole@rosstauscher.de) Copyright 2009
+ ****************************************************************************/
+
+public class PacProxyDebugging {
+
+ private static final String TEST_URL = "http://www.asetune.com";
+
+ /*************************************************************************
+ * Setup a console logger.
+ ************************************************************************/
+
+ private void installLogger() {
+ Logger.setBackend(new Logger.LogBackEnd() {
+ public void log(Class<?> clazz, LogLevel loglevel, String msg, Object... params) {
+ System.out.println(loglevel + "\t"+ MessageFormat.format(msg, params));
+ }
+
+ public boolean isLogginEnabled(LogLevel logLevel) {
+ return true;
+ }
+ });
+ }
+
+ /*************************************************************************
+ * Main entry point for the test application.
+ * @param args the command line arguments.
+ ************************************************************************/
+
+ public static void main(String[] args) {
+ // System.setProperty("http.proxyHost", "10.65.12.21");
+ // System.setProperty("http.proxyPort", "8080");
+ // System.setProperty("java.net.useSystemProxies", "true");
+
+ PacProxyDebugging pt = new PacProxyDebugging();
+ pt.installLogger();
+
+ ProxySearch proxySearch = ProxySearch.getDefaultProxySearch();
+
+ // ProxySearch proxySearch = new ProxySearch();
+ // proxySearch.addStrategy(Strategy.JAVA);
+ // proxySearch.addStrategy(Strategy.BROWSER);
+ // proxySearch.addStrategy(Strategy.OS_DEFAULT);
+ // proxySearch.addStrategy(Strategy.ENV_VAR);
+
+ ProxySelector myProxySelector = proxySearch.getProxySelector();
+
+ ProxySelector.setDefault(myProxySelector);
+ System.out.println("Using proxy selector: " + myProxySelector);
+
+ // String webAddress = "http://www.google.com";
+ String webAddress = TEST_URL;
+ try {
+ URL url = new URL(webAddress);
+ // List<Proxy> result = myProxySelector.select(url.toURI());
+ // if (result == null || result.size() == 0)
+ // {
+ // System.out.println("No proxy found for this url.");
+ // return;
+ // }
+ // System.out.println("Proxy Settings found using 'xxx' strategy.\n"
+ // +
+ // "Proxy used for URL is: "+result.get(0));
+
+ System.out.println("Now open a connection to the url: "+ webAddress);
+ System.out.println("==============================================");
+
+ // open the connection and prepare it to POST
+ URLConnection conn = url.openConnection();
+ conn.setConnectTimeout(10 * 1000);
+
+ // Return the response
+ InputStream in = conn.getInputStream();
+ LineNumberReader lr = new LineNumberReader(new InputStreamReader(in));
+ String line;
+ while ((line = lr.readLine()) != null) {
+ System.out.println("response line " + lr.getLineNumber() + ": " + line);
+ }
+ System.out.println("---- END -------------------------------------");
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+}