`

telnet \socket \ httpproxy 三种客户端实现

阅读更多
1.socket实现方式:

public class TestMonitor {

	public static void main(String[] args) throws IOException {

        Socket socket = null;
       // PrintWriter out = null;
        BufferedReader in = null;
        PrintStream ops= null;
        try {
        	socket = new Socket(args[0], 4444);//参数为服务器的ip地址
        	ops=new PrintStream(socket.getOutputStream());
        	ops.println(args[1]); // 参数是发送到服务器上的请求信息
        	ops.flush();   
//            out = new PrintWriter(socket.getOutputStream(), true);
            in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
        } catch (UnknownHostException e) {
            System.err.println("Don't know about host:" + args[0]);
            System.exit(1);
        } catch (IOException e) {
            System.err.println("Couldn't get I/O for the connection to: taranis.");
            System.exit(1);
        }

        BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));
        String fromServer;

//        String fromUser = stdIn.readLine();
//        System.out.println("Client: " + fromUser);
//        out.println(fromUser);
        while ((fromServer = in.readLine()) != null) {
            System.out.println("Server: " + fromServer);
            if (fromServer.equals("Bye."))
                break;
            String fromUser = stdIn.readLine();
		    if (fromUser != null) {
	                System.out.println("Client: " + fromUser);
	                ops.println(fromUser);
		    }
        }

        ops.close();
        in.close();
        stdIn.close();
        socket.close();
    }
}


2.telnet 实现方式
这个要加个jar包: commons-net-2.0.jar

public class TestTelnet {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		TelnetClient tc=new TelnetClient();
		PrintStream ops= null;
		 BufferedReader in = null;
		try {
			tc.connect("172.16.100.87", 4444);//连接的服务器和端口
			System.out.println("test cennection:"+tc.isConnected());		
			ops=new PrintStream(tc.getOutputStream());
			ops.println("/refreshapps"); // 是发送到服务器上的请求信息

			ops.flush();   
			 in = new BufferedReader(new InputStreamReader(tc.getInputStream()));
		  // System.out.println( "AAA"+in.readLine());		
			char[] bs=new char[256];
			int i=0;
		
				while((i=in.read(bs))>-1){
					String str=null;
					if(i==256){
						str=new String(bs);
					}else{
						char[] bs2=new char[i];
						for(int j=0;j<i;j++)
						{
							bs2[j]=bs[j];
						}
						str=new String(bs2);
					}

					System.out.println(str);
				}
				
		} catch (SocketException e) {			
			e.printStackTrace();
		} catch (IOException e) {		
			e.printStackTrace();
		}
		
	}
	

}


3.http proxy 实现方式



import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.Properties;

public class TestProxy {

	/**
	 * @param args
	 * @throws IOException
	 */
	public static void main(String[] args) throws IOException {

		// String strUrl="http://blog.csdn.net/cqq/";
		// URL url = new URL(strUrl);
		URL url = new URL("http", "172.16.100.87", 4444, "");//所请求服务器的ip地址和端口
		URLConnection conn = url.openConnection();

		String strProxy = "172.16.10.133";//代理服务器的ip
		String strPort = "4444";//端口
		Properties systemProperties = System.getProperties();
		systemProperties.setProperty("http.proxyHost", strProxy);
		systemProperties.setProperty("http.proxyPort", strPort);

		BufferedReader rd = new BufferedReader(new InputStreamReader(conn
				.getInputStream()));
		String ss = null;
		while ((ss = rd.readLine()) != null) {
			System.out.println(ss);
		}
		rd.close();

	}

}
0
0
分享到:
评论

相关推荐

    java 实现HTTP PROXY

    Java实现HTTP PROXY是一个常见的需求,特别是在开发网络应用或者测试环境中,我们可能需要通过代理服务器转发HTTP请求。本文将深入探讨如何使用Java编程语言来创建一个HTTP代理服务器,并且会涉及相关的源码分析。 ...

    socket-client-proxy:socket客户端,支持socks5和http代理

    socket 连接客户端 socket 继承自 nodejs 的 net 模块,拥有和 new net.Socket() 完全一致的 API。 支持 socks5 代理,支持用户名密码 支持 http 代理,支持用户名密码(要求 http 代理支持 CONNECT 方法) 使用 ...

    Socket5Proxy.rar_lsp socket5_lsp实现代理_lsp程序_socket5_socket5proxy

    LSP程序,Socket5代理的核心实现功能

    PyPI 官网下载 | socket_proxy-0.1-py3.8.egg

    总结起来,`socket_proxy`是一个在Python中实现网络代理功能的库,通过PyPI下载的`socket_proxy-0.1-py3.8.egg`是针对Python 3.8的特定版本,采用egg格式封装。对于网络开发、测试和安全研究的人员来说,这样的库是...

    基于socket的proxy

    个例子涉及到了基本的网络编程的知识,从连接建立到数据收发,包括简单的编程模型(fork子进程,select/pselect多路I/O复用),还有简单的信号处理,socket选项设置,感觉作为网络编程入门熟悉一下挺好的。

    privoxy socket5代理到http代理的转换工具

    Privoxy作为一个代理服务器,可以接收来自客户端的HTTP请求,并将这些请求转发到Socket5代理,反之亦然,从而实现了协议之间的转换。这样,即使客户端只支持HTTP,也能利用Socket5代理的特性。 Privoxy的安装通常很...

    Proxy通信http协议,客户端程序

    Proxy通信http协议,客户端程序Proxy http client

    使用socket实现的请求代理

    在IT领域,网络通信是不可或缺的一部分,而Socket编程则是实现客户端与服务器端通信的基础。本文将深入探讨如何使用Socket实现一个请求代理,该代理能够转发客户端的HTTP请求到目标服务器,并将响应返回给客户端。...

    c# socket设置代理

    通过Socket,我们可以实现客户端与服务器端的双向通信。 ### 设置代理 在某些网络环境下,访问外部资源可能需要通过代理服务器。C#中的Socket类支持设置代理,以满足这种需求。设置代理主要包括以下步骤: 1. **...

    httpProxy-java

    HTTP代理(httpProxy)是一种网络服务,它充当客户端与服务器之间的中介,允许客户端通过代理服务器来访问其他Web资源。在Java开发中,实现HTTP代理功能可以帮助我们处理各种网络请求,提高性能,以及实现数据抓取、...

    易语言Socket5客户端连接源码

    易语言Socket5客户端连接源码

    PI3种适配器 IDOC & RFC & ABAP Proxy三种适配器方案对比

    PI IDOC & RFC & ABAP Proxy三种适配器方案对比,关于PI的3种不同方案的对比,还是比较清晰不错的。

    HttpProxy HTTP代理服务器

    HttpProxy HTTP代理服务器 HttpProxy HTTP代理服务器 HttpProxy HTTP代理服务器 HttpProxy HTTP代理服务器

    HttpProxy请求工具

    HttpProxy请求工具是一种专门用于网络通信的客户端应用,主要用于发送HTTP的Post和Get请求。在IT行业中,HTTP是超文本传输协议,是互联网上应用最为广泛的一种网络协议,用于从万维网服务器传输超文本到本地浏览器的...

    android手机做socket服务器,多手机进行通信

    作为客户端(别人连接的时候),在前去会话页面,手动输入你的ip,点击连接即可; 注意:如果本机作为服务端,一定要先启动服务端, 再点击连接; 如本机非服务器,要先打开服务端手机的服务,再连接,否则程序...

    proxy代理程序,基于Socket的代理

    IE代理服务器,基于Socket的程序代理,支持多客户端。

    ICE客户端实现代码

    ICE客户端实现代码主要涉及到的是Tibco的ICE(Internet Communications Engine)中间件的使用,这是一种高性能、可伸缩的分布式计算框架。ICE提供了一种语言无关、平台无关的方式来构建分布式应用,支持C++、Java、...

    httpproxy源码vc++

    在IT行业中,HTTP代理服务器和SOCKS5代理服务器是网络通信中常见的两种代理服务,它们主要用于转发客户端的网络请求,实现数据的中继传输,同时也常用于网络安全、隐私保护和多线程爬虫等领域。这里我们将深入探讨...

    Socket Proxy-开源

    Socket Proxy 是一个多线程服务器,用于监控和记录套接字流量。 自定义处理程序可以用 Java 编写,以检查或修改流入或流出的流量。 作者经常使用它来捕获 Web 服务和 RDBMS SQL 流量。

    ProxySocket

    对于防火墙内部的软件客户端,仅同防火墙协商,同防火墙的特定端口取得联系,然后交换数据,而防火墙外部的程序也直同防火墙进行数据交换,外部看不到防火墙的内部网情况,这样起到了防火墙的监护功能,也满足了...

Global site tag (gtag.js) - Google Analytics