网络协议基础
2019-05-10 06:06:09来源:博客园 阅读 ()
HTTP:
Java 程序模拟
1 public static void main(String[] args) { 2 //目标URL 3 String urlPath = "http://192.168.11.44/Agileone_1.2/index.php"; 4 //创建URL对象,对URL信息进行封装 5 try { 6 URL url = new URL(urlPath); 7 //通过URL对象获取HttpUrlConnection对象 8 HttpURLConnection httpURL = (HttpURLConnection)url.openConnection(); 9 //设置连接参数,可省 10 //建立连接,tcp连接建立 11 httpURL.connect(); 12 //获取输入流 13 InputStream is = httpURL.getInputStream(); 14 BufferedInputStream bi = new BufferedInputStream(is); 15 //用于存读取的字节长度 16 int len=0; 17 //定义存储响应结果的容器 18 byte[] con = new byte[1024]; 19 //循环读入响应内容 20 while((len = bi.read(con))!= -1){ 21 System.out.println(new String(con,0,len,"UTF-8")); 22 }// 23 释放资源 24 bi.close(); 25 is.close(); 26 httpURL.disconnect(); 27 } catch (Exception e) { 28 e.printStackTrace(); 29 } 30 }
1 public static void main(String[] args) { 2 //目标URL 3 String urlPath="http://192.168.11.44/Agileone_1.2/index.php/common/login"; 4 //创建URL对象,对目标URL进行封装 5 try { 6 URL url = new URL(urlPath); 7 //获取HttpURLConnection对象 8 HttpURLConnection httpURL = (HttpURLConnection) url.openConnection(); 9 //设置连接参数 10 httpURL.setRequestMethod("POST"); 11 httpURL.setDoOutput(true); 12 httpURL.setRequestProperty("Cookie", "PHPSESSID=cd6a4b2d273d71a465f2b62d022c7717"); 13 //建立TCP连接 14 httpURL.connect(); 15 //获取输出流 16 OutputStream os = httpURL.getOutputStream(); 17 //准备请求正文 18 String par = "username=admin121&password=admin&savelogin=true"; 19 //将请求正文发送给服务器 20 os.write(par.getBytes()); 21 //获取输入流,读取服务器响应内容 22 InputStream is = httpURL.getInputStream(); 23 BufferedInputStream bi = new BufferedInputStream(is); 24 int len=0; 25 byte[] con = new byte[1024]; 26 //读取响应内容 27 while((len=bi.read(con))!=-1){ 28 System.out.println(new String(con,0,len)); 29 }// 30 释放资源 31 bi.close(); 32 is.close(); 33 os.close(); 34 httpURL.disconnect(); 35 } catch (Exception e) { 36 e.printStackTrace(); 37 } 38 }
TCP/IP:
TCP 协议 --Java 模拟客户端
1 public class ClientDemo { 2 public static void main(String[] args) { 3 //套接字: 4 Socket soc = null; 5 OutputStream os = null; 6 InputStream is = null; 7 BufferedReader br = null; 8 try { 9 soc = new Socket("localhost",544); 10 //获取输出流 11 os = soc.getOutputStream(); 12 //发送数据 13 os.write("你好呀!".getBytes()); 14 //关闭输出流 15 soc.shutdownOutput(); 16 //获取输入流 17 is = soc.getInputStream(); 18 //将字节流转换为字符流 19 br = new BufferedReader(new InputStreamReader(is)); 20 //操作客户端发送过来的数据 21 String con =null; 22 while((con = br.readLine()) != null){ 23 System.out.print(con); 24 } 25 } catch (Exception e) { 26 e.printStackTrace(); 27 } finally{ 28 try { 29 br.close(); 30 is.close(); 31 os.close(); 32 soc.close(); 33 } catch (IOException e) { 34 e.printStackTrace(); 35 } 36 37 } 38 39 } 40 }
TCP 协议---Java 模拟服务器端
1 public class ServerDemo { 2 public static void main(String[] args) { 3 //ServerSocket:服务器套接字 4 ServerSocket server = null; 5 Socket clientSo = null; 6 InputStream is = null; 7 BufferedReader br = null; 8 OutputStream os = null; 9 try { 10 //绑定监听端口 11 server = new ServerSocket(544); 12 //阻塞接收客户端数据 13 clientSo = server.accept(); 14 //可以操作数据包相关信息 15 System.out.print(clientSo.getInetAddress().getHostAddress()+":"); 16 //获取输入流 17 is = clientSo.getInputStream(); 18 //将字节流转换为字符流 19 br = new BufferedReader(new InputStreamReader(is)); 20 //操作客户端发送过来的数据 21 String con =null; 22 while((con = br.readLine()) != null){ 23 System.out.print(con); 24 } 25 //获取客户端输出流 26 os = clientSo.getOutputStream(); 27 os.write("你是逗逼么?".getBytes()); 28 } catch (IOException e) { 29 e.printStackTrace(); 30 }finally{ 31 try { 32 os.close(); 33 br.close(); 34 is.close(); 35 clientSo.close(); 36 server.close(); 37 38 } catch (IOException e) { 39 e.printStackTrace(); 40 } 41 } 42 } 43 }
原文链接:https://www.cnblogs.com/thelovelybugfly/p/10839239.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:Spring概述
- 04.Java基础语法 2020-06-11
- 1-Java基础回顾整理_01 2020-06-10
- Java基础语法菜鸟教程笔记 2020-06-10
- Java基础复习——类和对象 2020-06-09
- 计算机基础到底是哪些基础?为什么很重要! 2020-06-08
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash