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     }

 

相关文章
|
2月前
|
Java
Java语言实现字母大小写转换的方法
Java提供了多种灵活的方法来处理字符串中的字母大小写转换。根据具体需求,可以选择适合的方法来实现。在大多数情况下,使用 String类或 Character类的方法已经足够。但是,在需要更复杂的逻辑或处理非常规字符集时,可以通过字符流或手动遍历字符串来实现更精细的控制。
262 18
|
2月前
|
Java 编译器 Go
【Java】(5)方法的概念、方法的调用、方法重载、构造方法的创建
Java方法是语句的集合,它们在一起执行一个功能。方法是解决一类问题的步骤的有序组合方法包含于类或对象中方法在程序中被创建,在其他地方被引用方法的优点使程序变得更简短而清晰。有利于程序维护。可以提高程序开发的效率。提高了代码的重用性。方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头写,不使用连接符。例如:addPerson。这种就属于驼峰写法下划线可能出现在 JUnit 测试方法名称中用以分隔名称的逻辑组件。
219 4
|
2月前
|
编解码 Java 开发者
Java String类的关键方法总结
以上总结了Java `String` 类最常见和重要功能性方法。每种操作都对应着日常编程任务,并且理解每种操作如何影响及处理 `Strings` 对于任何使用 Java 的开发者来说都至关重要。
316 5
|
3月前
|
算法 安全 Java
除了类,Java中的接口和方法也可以使用泛型吗?
除了类,Java中的接口和方法也可以使用泛型吗?
162 11
|
3月前
|
Java 开发者
Java 函数式编程全解析:静态方法引用、实例方法引用、特定类型方法引用与构造器引用实战教程
本文介绍Java 8函数式编程中的四种方法引用:静态、实例、特定类型及构造器引用,通过简洁示例演示其用法,帮助开发者提升代码可读性与简洁性。
|
4月前
HTTP协议中请求方式GET 与 POST 什么区别 ?
GET和POST的主要区别在于参数传递方式、安全性和应用场景。GET通过URL传递参数,长度受限且安全性较低,适合获取数据;而POST通过请求体传递参数,安全性更高,适合提交数据。
560 2
|
4月前
|
算法 Java
Java语言实现链表反转的方法
这种反转方法不需要使用额外的存储空间,因此空间复杂度为,它只需要遍历一次链表,所以时间复杂度为,其中为链表的长度。这使得这种反转链表的方法既高效又实用。
432 0
|
4月前
|
存储 Java 数据处理
Java映射操作:深入Map.getOrDefault与MapUtils方法
结合 `getOrDefault`方法的简洁性及 `MapUtils`的丰富功能,Java的映射操作变得既灵活又高效。合理地使用这些工具能够显著提高数据处理的速度和质量。开发人员可以根据具体的应用场景选择适宜的方法,以求在性能和可读性之间找到最佳平衡。
200 0
|
4月前
|
缓存 人工智能 NoSQL
Java中实现Token设置过期时间的方法
本文介绍了在Java应用中实现Token设置过期时间的多种方法,包括使用JWT和Redis缓存,并结合定时任务清理过期Token,以提升系统安全性与用户隐私保护。
485 0
|
4月前
|
算法 Java 开发者
Java 项目实战数字华容道与石头迷阵游戏开发详解及实战方法
本文介绍了使用Java实现数字华容道和石头迷阵游戏的技术方案与应用实例,涵盖GUI界面设计、二维数组操作、游戏逻辑控制及自动解法算法(如A*),适合Java开发者学习游戏开发技巧。
318 46

热门文章

最新文章