Android 通过Get/Post提交请求数据到服务器

简介:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
package com.lifengfeng.submitdata.utils;
 
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;
 
import android.util.Log;
 
public class NetUtils {
 
     private static final String TAG = "NetUtils" ;
     
     /**
      * 使用post的方式登录
      * @param userName
      * @param password
      * @return
      */
     public static String loginOfPost(String userName, String password) {
         HttpURLConnection conn = null ;
         try {
             URL url = new URL( "http://10.0.2.2:8080/Server/servlet/LoginServlet" );
             
             conn = (HttpURLConnection) url.openConnection();
             
             conn.setRequestMethod( "POST" );
             conn.setConnectTimeout( 10000 ); // 连接的超时时间
             conn.setReadTimeout( 5000 ); // 读数据的超时时间
             conn.setDoOutput( true ); // 必须设置此方法, 允许输出
//          conn.setRequestProperty("Content-Length", 234);     // 设置请求头消息, 可以设置多个
             
             // post请求的参数
             String data = "username=" + userName + "&password=" + password;
             
             // 获得一个输出流, 用于向服务器写数据, 默认情况下, 系统不允许向服务器输出内容
             OutputStream out = conn.getOutputStream(); 
             out.write(data.getBytes());
             out.flush();
             out.close();
             
             int responseCode = conn.getResponseCode();
             if (responseCode == 200 ) {
                 InputStream is = conn.getInputStream();
                 String state = getStringFromInputStream(is);
                 return state;
             } else {
                 Log.i(TAG, "访问失败: " + responseCode);
             }
         } catch (Exception e) {
             e.printStackTrace();
         } finally {
             if (conn != null ) {
                 conn.disconnect();
             }
         }
         return null ;
     }
 
     /**
      * 使用get的方式登录
      * @param userName
      * @param password
      * @return 登录的状态
      */
     public static String loginOfGet(String userName, String password) {
         HttpURLConnection conn = null ;
         try {
             String data = "username=" + URLEncoder.encode(userName) + "&password=" + URLEncoder.encode(password);
             URL url = new URL( "http://10.0.2.2:8080/Server/servlet/LoginServlet?" + data);
             conn = (HttpURLConnection) url.openConnection();
             
             conn.setRequestMethod( "GET" );       // get或者post必须得全大写
             conn.setConnectTimeout( 10000 ); // 连接的超时时间
             conn.setReadTimeout( 5000 ); // 读数据的超时时间
             
             int responseCode = conn.getResponseCode();
             if (responseCode == 200 ) {
                 InputStream is = conn.getInputStream();
                 String state = getStringFromInputStream(is);
                 return state;
             } else {
                 Log.i(TAG, "访问失败: " + responseCode);
             }
         } catch (Exception e) {
             e.printStackTrace();
         } finally {
             if (conn != null ) {
                 conn.disconnect();      // 关闭连接
             }
         }
         return null ;
     }
     
     /**
      * 根据流返回一个字符串信息
      * @param is
      * @return
      * @throws IOException
      */
     private static String getStringFromInputStream(InputStream is) throws IOException {
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
         byte [] buffer = new byte [ 1024 ];
         int len = - 1 ;
         
         while ((len = is.read(buffer)) != - 1 ) {
             baos.write(buffer, 0 , len);
         }
         is.close();
         
         String html = baos.toString();  // 把流中的数据转换成字符串, 采用的编码是: utf-8
         
//      String html = new String(baos.toByteArray(), "GBK");
         
         baos.close();
         return html;
     }
}
目录
相关文章
|
9月前
|
网络协议 关系型数据库 应用服务中间件
如何迁移网站数据到新的服务器
迁移网站数据到新服务器是一个系统化的过程,需谨慎操作以避免数据丢失或服务中断。小编为您整理发布如何迁移网站数据到新的服务器,以下是详细步骤和注意事项。
|
12月前
|
缓存 人工智能 架构师
释放数据潜力:利用 MCP 资源让大模型读懂你的服务器
MCP(Model Control Protocol)资源系统是将服务器数据暴露给客户端的核心机制,支持文本和二进制两种类型资源。资源通过唯一URI标识,客户端可通过资源列表或模板发现资源,并使用`resources/read`接口读取内容。MCP还支持资源实时更新通知及订阅机制,确保动态数据的及时性。实现时需遵循最佳实践,如清晰命名、设置MIME类型和缓存策略,同时注重安全性,包括访问控制、路径清理和速率限制等。提供的示例代码展示了如何用JavaScript和Python实现资源支持。
1129 80
|
8月前
|
存储 安全 数据管理
服务器违规资源被删,数据定时备份OSS 云存储才是 “救命稻草”
在数字化时代,数据已成为企业与个人的核心资产。然而,服务器违规、硬件故障等问题频发,导致数据丢失、业务中断,甚至造成不可挽回的损失。为保障数据安全与业务连续性,定时备份至关重要。阿里云国际站OSS提供高效、可靠的云存储解决方案,支持自动定时备份,帮助用户轻松应对数据风险。本文详解OSS备份操作步骤与注意事项,助你为数据穿上“防护甲”,实现安全无忧存储。
|
10月前
|
弹性计算 安全
阿里云服务器镜像,快速迁移项目数据
有时候旧服务器快到期了,想把项目、数据、软件挪到新服务器上,如果全部重新搭建的话,那无疑是耗时又费力。有了镜像迁移,就方便了许多。
722 1
|
11月前
|
存储 数据库 Python
使用HTTP POST协议将本地压缩数据发送到服务器
总的来说,使用HTTP POST协议将本地压缩数据发送到服务器是一个涉及多个步骤的过程,包括创建压缩文件,设置HTTP客户端,发送POST请求,以及服务器端的处理。虽然这个过程可能看起来复杂,但一旦你理解了每个步骤,就会变得相对简单。
387 19
|
11月前
|
弹性计算 NoSQL 数据库
阿里云服务器如何备份数据?
阿里云服务器数据备份有多种方法,用户可按需选择。主要方式包括:1)快照备份,创建云盘的时间点拷贝,支持定期备份与数据恢复;2)数据库备份DBS,适用于多种环境的数据库备份,涵盖本地及多云场景;3)云备份Cloud Backup,提供统一灾备平台,支持ECS整机、数据库、文件系统等全方位备份,保障数据安全。
|
12月前
|
关系型数据库 MySQL Linux
在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾
以上就是在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾的步骤。这个过程就像是一场接力赛,数据从MySQL数据库中接力棒一样传递到备份文件,再从备份文件传递到其他服务器,最后再传递回MySQL数据库。这样,即使在灾难发生时,我们也可以快速恢复数据,保证业务的正常运行。
518 28
|
安全 网络安全 定位技术
网络通讯技术:HTTP POST协议用于发送本地压缩数据到服务器的方案。
总的来说,无论你是一名网络开发者,还是普通的IT工作人员,理解并掌握POST方法的运用是非常有价值的。它就像一艘快速,稳定,安全的大船,始终为我们在网络海洋中的冒险提供了可靠的支持。
343 22
|
前端开发 Cloud Native Java
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
服务器数据恢复—NTFS分区误格式化数据怎样挽回?
NTFS文件系统下格式化在理论上不会对数据造成太大影响,但有可能造成部分文件目录结构丢失的情况。下面介绍一个人为误操作导致服务器磁盘阵列中的NTFS文件系统分区被格式化后的服务器数据恢复案例。