Java代理Internet

Java代理Internet

2013年10月23日

23:14

    Java HTTP Proxy Settings

    OVERVIEW

    For
    local networks within an organization, access to the public-domain
    Internet is often via a HTTP Proxy. This article talks about the HTTP
    proxy settings for the Java environment. I did not find a good document
    on the Web to describe these settings; Had to discover many of them by
    trial-and-error. Hence this article.

    KEYWORDS

    HTTP
    Proxy, Java Proxy Settings, Tomcat, Application Server, Servlets, HTTP
    Proxy Authentication for Java, Java Application Proxy Settings

    SCENARIO

    • Your Java client runs
      on a machine on the Local network – Private LAN. The client could
      be a standalone application, or a servlet hosted on a web
      container like Tomcat

    • Your code access an
      external resource using HTTP. For example, invoking an external
      Web Service.

    • Your HTTP call needs
      to tunnel through the HTTP proxy (using SOCKS authentication).
      Even if authentication is not required, you would still need to
      configure the URL and the Port of your HTTP proxy.

    SETTINGS

    Use
    one of the methods below for your JVM proxy settings. Try an alternate
    method if any particular method does not work. In most cases, you should
    not require any change the pre-compiled Java code for proxy settings.
    JVM’s environment settings should be enough to fix this problem.

    Command Line JVM Settings

    The
    proxy settings are given to the JVM via command line arguments:

    $ java
    -Dhttp.proxyHost=proxyhostURL
    -Dhttp.proxyPort=proxyPortNumber
    -Dhttp.proxyUser=someUserName
    -Dhttp.proxyPassword=somePassword
    javaClassToRun

    Setting System Properties in Code

    Add
    the following lines in your Java code so that JVM uses the proxy to make
    HTTP calls. This would, of course, require you to recompile your Java
    source. (The other methods do not require any recompilation.):

    System.getProperties().put("http.proxyHost",
    "someProxyURL");
    System.getProperties().put("http.proxyPort",
    "someProxyPort");
    System.getProperties().put("http.proxyUser",
    "someUserName");
    System.getProperties().put("http.proxyPassword",
    "somePassword");

    Don’t
    hardcode the proxy settings in your source. Read these settings from a
    configurable text file, so your users can configure them. You might also
    need to set this property:

    System.getProperties().put("proxySet",
    "true");

    Or

    System.getProperties().put("http.proxySet",
    "true");

    Tomcat Settings:
    catalina.properties

    Append
    these properties to the catalina.properties file in Tomcat:${CATALINA_OME}/conf/catalina.properties file:

    http.proxyHost=yourProxyURL

    http.proxyPort=yourProxyPort
    http.proxyUser=yourUserName

    http.proxyPassword=yourPassword

    Tomcat Settings: catalina.bat

    Add
    all the parameters defined above in the ${CATALINA_HOME}/bin/catalina.bat (for
    Windows) or ${CATALINA_HOME}/bin/catalina.bat (for
    *nix):

    JAVA_OPTS="-Dhttp.proxyHost=yourProxyURL
    ..."

    (Each
    option is seperated by spaces.)

    来自
    <http://i4t.org/2007/05/04/java-http-proxy-settings/>

来自为知笔记(Wiz)

Java代理Internet,码迷,mamicode.com

时间: 2024-11-04 03:17:25

Java代理Internet的相关文章

java 代理模式详解

java 动态代理(JDK和cglib) 设计模式这东东每次看到就明白可过段时间又不能很流利的说出来,今天就用详细的比喻和实例来加深自己的理解(小弟水平不高有不对的地方希望大家能指出来). (1)代理这个词生活中有很多比如在街边卖手机卡.充公交地铁卡的小商店他们都起了代理的作用,java中的代理跟这些小店商的作用是一样的.再比如我想在淘宝上开个服装店但又没有货源怎么办,这时候我就要跟淘宝上某一卖家联系做他的代理.我跟我的商家都要卖衣服(就好比我们都继承了卖衣服的接口sellClothesInte

java代理Proxy

首先是静态代理: 1 public class Test1 { 2 3 public static void main(String[] args) { 4 IA a = new APoxy(new A()); 5 a.doJob(); 6 } 7 8 } 9 //功能接口 10 interface IA{ 11 public void doJob(); 12 } 13 //委托类 14 class A implements IA{ 15 16 @Override 17 public void

Java代理(Aop实现的原理)

经过大牛同事的一句指点立刻明白的代理实现方式,Spring Aop应该也是这么去做的.直接上代码 实现在Car的run方法之前调用star方法,在run方法之后调用stop方法. Car类 package com.lubby.test; public class Car { public void run() { System.out.println("I am running...."); } } Car的run方法之前和之后调用的方法 package com.lubby.test;

Java代理模式

Java代理模式分为静态代理和动态代理模式 静态代理模式比较简单,直接上图和代码: 代理模式类图如下: 在代理模式中的角色: ● 抽象对象角色:声明了目标对象和代理对象的共同接口,这样一来在任何可以使用目标对象的地方都可以使用代理对象. ● 目标对象角色:定义了代理对象所代表的目标对象. ● 代理对象角色:代理对象内部含有目标对象的引用,从而可以在任何时候操作目标对象:代理对象提供一个与目标对象相同的接口,以便可以在任何时候替代目标对象.代理对象通常在客户端调用传递给目标对象之前或之后,执行某个

java 代理的三种实现方式

Java 代理模式有如下几种实现方式: 1.静态代理. 2.JDK动态代理. 3.CGLIB动态代理. 示例,有一个打招呼的接口.分别有两个实现,说hello,和握手.代码如下. 接口: public interface Greeting { public void doGreet(); } 实现类: public class SayHello implements Greeting { @Override public void doGreet() { System.out.println("

java代理模式学习

Java动态代理模式 1. 代理:一个角色代表别一个角色来完成某些特定的功能. 比如:生产商,中间商,客户这三者这间的关系 客户买产品并不直接与生产商打交道,也不用知道产品是如何产生的,客户只与中间商打交道,而中间商就可以对产品进行一些包装,提供一些售后的服务. 代理模式有三个角色: 1. 抽象主题角色 2. 代理主题角色 3. 实际被代理角色 其它类通过访问代理主题角色来访问实际被代理角色. 2. 下面我们来个一个静态代理的实现. 我以一个坦克为例. 抽象主题角色:Moveable Java代

java代理机制简单实现

java代理分静态代理和动态代理,动态代理有jdk代理和cglib代理两种,在运行时生成新的子类class文件.本文主要练习下动态代理,代码用于备忘.对于代理的原理和机制,网上有很多写的很好的,就不班门弄斧了. jdk代理 Java代码下载    import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; public class Prox

java 代理 进程ID

java 代理设置 System.setProperty("http.proxyHost", "127.0.0.1"); System.setProperty("http.proxyPort", "3306"); java 获取进程ID String name = ManagementFactoryHelper.getRuntimeMXBean().getName(); System.out.println(name); //

Java 代理机制学习总结

-------<a href="http://www.itheima.com/"">android培训</a>.<a href="http://www.itheima.com/" ">java培训</a>期待与您交流!---------- Java 代理机制学习总结 在编写程序时,除了要解决核心业务逻辑时还要编写一些与核心业务逻辑相关的系统服务代码.如日志,安全等代码.在没有使用java代理机制时,