java Http消息传递之POST和GET两种方法

简介: /** * 通过Get方法来向服务器传值和获取信息, * 这里举例假设的前提是,链接上服务器,服务器直接发送数据给本地 * * 大体的思路: * 1、首先通过URL地址来获得链接的借口 * 通过接口,来设置链接超时的时间,请求方式,是否可以输入输出数据 * 得到读取服务器内容的...

/**
* 通过Get方法来向服务器传值和获取信息,
* 这里举例假设的前提是,链接上服务器,服务器直接发送数据给本地
*
* 大体的思路:
* 1、首先通过URL地址来获得链接的借口
* 通过接口,来设置链接超时的时间,请求方式,是否可以输入输出数据
* 得到读取服务器内容的读取流
*
* 2、为存储 从服务器读取到的数据做准备
* 将读取到的数据写入文件或直接得到字符串
* 关闭并刷新读写流
*
*
*/

 

 1 public static void getMsgByGet(String path){
 2         try {
 3             /*为读取做准备*/
 4             
 5             //通过URL路径来创建URL对象
 6             URL url=new URL(path);
 7             //建立连接对象,并设置相应属性
 8             HttpURLConnection conn=(HttpURLConnection) url.openConnection();
 9             conn.setConnectTimeout(5000);
10             conn.setRequestMethod("GET");
11             conn.setDoInput(true);
12             //若连接成功获取输入流,并写入数据
13             if(conn.getResponseCode()==200){
14                 InputStream in=conn.getInputStream();
15             /*为写入做准备*/
16                 
17                 //设置存放数据的比特数组,
18                 byte[]arr=new byte[1024];
19                 //设置确定接收数组的长度的变量
20                 int len=0;
21                 //创建用来存放从服务器读取来的数据文件
22                 File file=new File("file\\temp.txt");
23                 //创建写入流
24                 FileOutputStream fos=new FileOutputStream(file);
25                 
26             /* 开始读取和写入数据*/
27                 while((len=in.read(arr))!=-1){
28                     fos.write(arr,0,len);
29                 }
30                 fos.flush();
31             }
32             
33         } catch (MalformedURLException e) {
34             // TODO Auto-generated catch block
35             e.printStackTrace();
36         } catch (IOException e) {
37             // TODO Auto-generated catch block
38             e.printStackTrace();
39         }
40         
41     }

 

/**
*
* 通过Post方法向服务器发送数据和获取数据;
*
* 主要分
*
* 1、准备要发送到服务器的数据
* 2、为发送数据做准备
* 3、提交数据
* 4、为写入数据做准备
* 5、读取服务器返回的数据并写入
* @throws IOException
*
*
*/

 

 1 public String getMsg(String path) throws IOException{
 2         //这里发送的数据是一串字符串(你好呀)
 3         StringBuilder sb=new StringBuilder();
 4         sb.append("你好呀");
 5         
 6         
 7 /*为发送数据做准备*/
 8         
 9         //通过URL地址获取URL对象
10         URL url=new URL(path);
11         //获取链接对象
12         HttpURLConnection conn=(HttpURLConnection) url.openConnection();
13         //设置连接对象的属性
14         conn.setConnectTimeout(5000);
15         conn.setRequestMethod("POST");
16         conn.setDoInput(true);
17         conn.setDoOutput(true);
18         //设置提交数据类型(HTML传送数据必须的)
19         conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
20         //将要传递的数据转换为比特类型
21         byte[]data=sb.toString().getBytes();
22         //设置提交数据的长度
23         conn.setRequestProperty("Content-Length", String.valueOf(data.length));
24         
25 /*提交数据*/
26         OutputStream out=conn.getOutputStream();
27         out.write(data, 0, data.length);
28         out.close();
29         
30         //判断发送数据是否成功
31         if(conn.getResponseCode()==200){
32             InputStream in=conn.getInputStream();
33             
34 /*为写入数据做准备*/    
35             
36             ByteArrayOutputStream bos=new ByteArrayOutputStream();
37             
38             byte []arr=new byte[1024];
39             int len=0;
40             
41 /*读取服务器返回的数据并写入*/
42             while((len=in.read(arr))!=-1){
43                 bos.write(arr, 0, len);
44             }
45             byte[]b=bos.toByteArray();
46             return new String(b,0,b.length,"utf-8");
47         }
48 
49         
50         return null;
51         
52     }

 

相关文章
|
7天前
|
Java Maven Windows
使用Java创建集成JACOB的HTTP服务
本文介绍了如何在Java中创建一个集成JACOB的HTTP服务,使Java应用能够调用Windows的COM组件。文章详细讲解了环境配置、动态加载JACOB DLL、创建HTTP服务器、实现IP白名单及处理HTTP请求的具体步骤,帮助读者实现Java应用与Windows系统的交互。作者拥有23年编程经验,文章来源于稀土掘金。著作权归作者所有,商业转载需授权。
使用Java创建集成JACOB的HTTP服务
|
29天前
|
缓存 负载均衡 安全
|
29天前
|
微服务
成功解决:java.lang.NoSuchMethodError: reactor.netty.http.client.HttpClient.chunkedTransfer(Z)Lreactor/ne
这篇文章讲述了在微服务架构中整合gateway网关时遇到的`java.lang.NoSuchMethodError`错误的解决方法。问题主要是由于`spring-boot-starter-parent`的版本和`spring-cloud-starter-gateway`的版本不匹配所导致。文章提供了具体的版本不一致的错误配置,并给出了匹配的版本配置方案,以及成功测试的截图。
成功解决:java.lang.NoSuchMethodError: reactor.netty.http.client.HttpClient.chunkedTransfer(Z)Lreactor/ne
|
2月前
|
缓存 网络协议 算法
(二)Java网络编程之爆肝HTTP、HTTPS、TLS协议及对称与非对称加密原理!
作为一名程序员,尤其是Java程序员,那必须得了解并掌握HTTP/HTTPS相关知识。因为在如今计算机网络通信中,HTTP协议的作用功不可没,无论是日常上网追剧、冲���、亦或是接口开发、调用等,必然存在HTTP的“影子”在内。尤其对于WEB开发者而言,HTTP几乎是每天会打交道的东西。
61 10
|
2月前
|
存储 运维 Java
函数计算产品使用问题之如何使用Python的requests库向HTTP服务器发送GET请求
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
26天前
|
安全 Java 数据库连接
|
28天前
|
移动开发 JavaScript 前端开发
"解锁axios GET请求新姿势!揭秘如何将数组参数华丽变身,让你的HTTP请求在云端翩翩起舞,挑战技术极限!"
【8月更文挑战第20天】二维码在移动应用中无处不在。本文详述了在UniApp H5项目中实现二维码生成与扫描的方法。通过对比插件`uni-app-qrcode`和库`qrcode-generator`生成二维码,以及使用插件和HTML5 API进行扫描,帮助开发者挑选最佳方案。无论是即插即用的插件还是灵活的JavaScript实现,都能满足不同需求。
25 0
|
2月前
|
测试技术 Python
我们假设要测试一个名为`http://example.com`的网站,并对其进行简单的GET请求性能测试。
我们假设要测试一个名为`http://example.com`的网站,并对其进行简单的GET请求性能测试。
|
2月前
|
安全 网络协议 Java
Java中的网络通信:HTTP详解
Java中的网络通信:HTTP详解
Get “https://npm.taobao.org/mirrors/node/latest/SHASUMS256.txt“: tls: failed to verify certificate:
Get “https://npm.taobao.org/mirrors/node/latest/SHASUMS256.txt“: tls: failed to verify certificate: