Java HTTP Proxy Settings
Posted on May 4, 2007 by Imran Aziz
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.)
分享到:
相关推荐
这个"java操作IE代理"的主题涉及到如何在Java程序中控制IE的网络代理设置,这通常需要利用特定的库和方法来实现。下面将详细介绍这个知识点。 首先,"registry.jar"可能是一个包含了对Windows注册表操作功能的Java...
HTTP代理服务器java 简单网站过滤
6. **代理服务器配置和缓存**:高级的代理服务器可能需要支持代理设置(如端口、认证等)和缓存功能。缓存可以减少网络延迟,提高性能,但需要处理好缓存更新和过期策略。 7. **第三方库**:有一些开源的Java库可以...
在Java编程语言中,HTTP代理是一种中间服务器,它充当客户端(如Web浏览器)与目标服务器之间的中介。HTTP代理的主要作用包括缓存、访问控制、数据过滤等,有时也被用于跨域请求或者隐私保护。本项目提供了两种不同...
在程序中动态设置 HTTP 代理更为灵活,适用于需要在运行时根据情况改变代理设置的场景。示例代码如下: ```java // 设置 HTTP 代理 Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("proxy....
获取网络资源,使用动态代理ip解决单个ip访问次数限制问题
这时,可能需要使用`java.net.SocketFactory`或`javax.net.ssl.SSLSocketFactory`来创建自定义的套接字工厂,以便在建立连接时应用代理设置。 文件`LANProxy.java`很可能包含了实现上述概念的具体代码示例。而`Java...
- 客户端配置代理设置,指定要使用的代理服务器地址和端口。 - 客户端发起对目标服务器的请求,请求被发送到代理服务器。 - 代理服务器接收到请求后,解析请求的目标地址,然后向目标服务器转发请求。 - 目标...
总结来说,这个项目是利用Java Socket实现了一个简单的HTTP代理服务器,用户可以通过配置浏览器的代理设置来使用它。尽管它可能不包含复杂的功能,如缓存、身份验证或协议转换,但对于学习网络编程和理解HTTP代理...
如果Java代理在尝试执行时遇到权限错误,你需要检查代理的权限设置以及调用者的身份验证级别。 在解决权限问题时,有以下几点需要注意: 1. **代理安全设置**:在代理的设计视图中,检查代理的“安全性”属性,...
在Java编程中,有时我们需要通过Internet Explorer(IE)的代理设置来访问网络资源,这主要适用于需要模拟用户网络环境或避开某些网络限制的情况。本文将详细介绍如何在Java中使用IE Proxy代理来实现这一功能。 ...
Java JDK 动态代理是一种强大的特性,它允许我们在运行时创建代理类,这些代理类可以扩展或修饰已存在的接口实现。动态代理在很多场景下非常有用,比如日志记录、性能监控、事务管理等,这些功能可以在不修改原始...
Java 代理服务器设置方法 Java 代理服务器设置方法是通过设置 Java 环境变量来实现的,也就是 JVM 的系统属性。我们需要设置三个属性,proxySet、proxyHost 和 proxyPort。proxySet 是个 boolean 类型的,可以设置...
5. **使用代理**:在Java的HTTP请求中,可以设置Proxy对象,将代理IP和端口作为参数,使请求通过代理服务器转发,从而达到突破IP限制的目的。 在实际项目中,可能还需要考虑其他因素,如验证码识别、登录验证、请求...
本文将详细介绍如何在Java中实现一个简单的HTTP代理服务器。 #### 核心代码解析 根据提供的部分代码,我们可以看到作者通过继承`Thread`类创建了一个名为`HttpProxy`的类。这个类负责处理来自客户端的连接,并将...
JAVA HTTP反向代理实现过程详解 本文主要介绍了JAVA HTTP反向代理实现过程详解,对大家的学习或者工作具有一定的参考学习价值。 一、什么是反向代理? 反向代理(Reverse Proxy)方式是指以代理服务器来接受...
总的来说,Java代理服务器的实现涉及到网络编程、HTTP协议理解和多线程处理等多个方面,是一个很好的学习和实践Java技术的项目。你可以通过分析和修改提供的"JAVA实现代理服务器"源码,进一步提升你的网络编程技能。
在Java开发中,实现HTTP代理功能可以帮助我们处理各种网络请求,提高性能,以及实现数据抓取、匿名访问等复杂需求。 首先,让我们深入理解HTTP代理的工作原理。HTTP代理服务器接收客户端发起的HTTP请求,并代替...
Lotus Domino是一款强大的协作软件,它提供了丰富的开发环境,包括服务器端的LotusScript和客户端的JavaScript,但在此场景下,我们使用的是Java代理,因为Java提供了更广泛的文件操作和数据处理能力。 首先,我们...
9. **编程语言中的代理设置**:在开发环境中,编程语言如Python、Java或Node.js也有相应的库或配置选项来设置代理,以便在进行网络请求时使用代理服务器。 10. **安全性与隐私**:使用代理服务器可以隐藏真实的IP...