`
杨俊德
  • 浏览: 6808 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

swing 桌面客户端系统设置网络代理

 
阅读更多

用swing开发的一个桌面客户端系统考虑到有的系统用户网络会采用代理服务器。于是要提供代理设置功能。

 

 


 

这里可以通过选择是HTTP代理 或者 SOCKS5 代理。

 

 

String proxyType = prop.getProperty("proxyType");
			
			if("HTTP".equals(proxyType)){
				
				String proxyHost = prop.getProperty("proxyHost");
				String proxyPort = prop.getProperty("proxyPort");
				String proxyUsername = prop.getProperty("proxyUsername");
				String proxyPassword = prop.getProperty("proxyPassword");
				String proxyDomain = prop.getProperty("proxyDomain");
	            System.setProperty("http.proxyHost", proxyHost);
	            System.setProperty("http.proxyPort", proxyPort);
	            System.setProperty("https.proxyHost", proxyHost);
	            System.setProperty("https.proxyPort", proxyPort);
	            Authenticator.setDefault(new MyAuthenticator(proxyUsername, proxyPassword));
	            System.setProperty("http.proxySet", "true");
	            
			}
			if("SOCKS".equals(proxyType)){
				String proxyHost_socks = prop.getProperty("proxyHost_socks");
				String proxyPort_socks = prop.getProperty("proxyPort_socks");
				String proxyUsername_socks = prop.getProperty("proxyUsername_socks");
				String proxyPassword_socks = prop.getProperty("proxyPassword_socks");
				String proxyDomain_socks = prop.getProperty("proxyDomain_socks");
				System.setProperty("socksProxyHost", proxyHost_socks);
		        System.setProperty("socksProxyPort", proxyPort_socks);
		        
		        Authenticator.setDefault(new MyAuthenticator(proxyUsername_socks, proxyPassword_socks));
		        
			}
 

 

 

public class MyAuthenticator extends Authenticator{
	private String user = "";
    private String password = "";
    public MyAuthenticator(String user, String password) {
     this.user = user;
     this.password = password;
    }
    protected PasswordAuthentication getPasswordAuthentication() {
     return new PasswordAuthentication(user, password.toCharArray());
    }
}
 

 

这里是主要代码,用户填写的信息保存在配置文件中,环境测试 我用的ccproxy 来实现代理服务

 

  • 大小: 15.1 KB
分享到:
评论

相关推荐

    JAVA SWing 实现C/S模式的数据库编程及WebServices 调用实现

    1. 创建一个客户端代理类,该类将调用WebService的方法。这可以通过WSDL(Web Services Description Language)文件自动生成,或者手动编写。 2. 调用代理类的方法,传递必要的参数,以发起请求。 3. 处理返回的数据...

    服务端和客服端直接和客户端与客户端之间通信

    在客户端与客户端之间通信的场景中,通常会引入一个中心服务器作为消息代理。客户端A发送的消息先传递到服务器,服务器再转发给客户端B。这种方式称为客户端-服务器-客户端模式,可以避免直接连接导致的网络问题,如...

    Java+Swing+Mysql实现飞机订票系统

    Java+Swing+Mysql实现飞机订票系统是一个典型的桌面应用开发案例,它将编程语言、图形用户界面设计、数据库应用等计算机科学领域的技术综合运用,旨在为用户提供一个便捷的在线订票平台。通过不断迭代和优化,该系统...

    桌面应用程序架构.pdf

    从给定的文件信息来看,这是一份关于Java桌面应用程序架构的培训资料,重点在于讲解如何正确使用线程来创建响应迅速、功能丰富的客户端应用程序。这份资料由Sun Microsystems的专家团队编写,包括Scott Violet、Igor...

    Apress - The Definitive Guide to Java Swing, Third Edition.pdf

    - **UI 代理**: 通过设置不同的 LookAndFeel 来改变应用程序的整体外观。 - **自定义渲染器**: 为 JTable 或 JList 等组件提供自定义的数据展示样式。 #### 三、Swing 应用案例分析 - **桌面应用开发**:Swing ...

    JavaSwing1

    Java Swing作为Java图形用户界面(GUI)开发的重要组成部分,在客户端/服务器(C/S)应用领域扮演着核心角色。Swing不仅提供了丰富的组件库,还具备高度可定制化的特点,使其成为构建现代、功能丰富的桌面应用程序的...

    Desktop

    标题中的"Desktop"通常指的是与桌面应用程序相关的开发工作,这可能涉及到操作系统级别的交互,用户界面设计,以及网络通信等技术。在这个场景下,我们有两个Java源代码文件:`ProxyHttpClient.java`和`Connect...

    Java版简易图书馆管理系统

    在这个图书馆管理系统中,Java 2 SE作为客户端开发语言,负责处理用户的输入、展示信息和执行业务逻辑。Java的面向对象特性使得代码组织清晰,易于维护和扩展。 接下来是数据库部分。MySQL是一款流行的开源关系型...

    基于MQTT协议的推送

    Swing是Java提供的一种用于创建桌面应用的图形用户界面工具包,结合MQTT,可以创建直观的客户端应用来测试和监控MQTT通信。 综上所述,"基于MQTT协议的推送"涉及的知识点涵盖了MQTT协议的基础原理、核心特性如发布/...

    java项目之聊天系统的设计于实现源码.zip

    JavaFX或Swing库可用于构建桌面应用程序,而如果是Web聊天系统,可以选择JavaScript搭配Spring Boot后端框架。 7. **消息推送**:为了实现即时通讯,可以利用WebSocket建立长连接,实现服务器主动向客户端推送消息...

    java版微博并带有完美客户端

    - **Swing**:另一种可能的选择是Swing,虽然相对过时,但依然可以构建功能完整的桌面应用。 5. **API接口** - **RESTful API**:为了使客户端与服务器之间通信,Java版微博可能实现了RESTful API,遵循HTTP协议...

    ActiveMQ实例

    Swing是Java用于创建桌面应用程序的GUI库。在Swing应用中集成ActiveMQ,可以创建实时的用户界面,显示或发送消息。例如,你可以创建一个Swing组件来监控消息队列的状态,或者提供一个用户界面让操作员发送消息到...

    即时通信系统(Java实现)

    例如,使用Nginx反向代理和KeepAlive设置来优化网络连接,使用Redis作为缓存来减轻数据库压力,或者通过分布式消息队列如RabbitMQ或Kafka来解耦服务。 7. **安全性**:除了身份验证,还需要关注数据加密、防止SQL...

    webservice 实现政府采购源码

    Swing是Java提供的一套图形用户界面(GUI)工具包,用于构建桌面应用程序。在这个项目中,Swing被用来创建客户端程序的用户界面,让用户能够与后台的WebService服务进行交互,如发送请求、接收响应并展示结果。 ...

    java开源包4

    PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...

    Java资源包01

    PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...

    java开源包1

    PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...

    java开源包11

    PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...

    java开源包2

    PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...

    java开源包3

    PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...

Global site tag (gtag.js) - Google Analytics