Android学习(49) -- 使用get方式提交数据
来源:互联网 发布:web项目怎么管理网络 编辑:程序博客网 时间:2024/06/18 11:29
get方式提交的数据是直接拼接在url的末尾
final String path = "http://192.168.1.103/Web/servlet/CheckLogin?name=" + name + "&pass=" + pass;
发送get请求,代码和之前一样
URL url = new URL(path);HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setRequestMethod("GET");conn.setReadTimeout(5000);conn.setConnectTimeout(5000);if(conn.getResponseCode() == 200){}
浏览器在发送请求携带数据时会对数据进行URL编码,我们写代码时也需要为中文进行URL编码
URLEncoder.encode(name),过时了,编码是utf-8,这个比较方便,
URLEncoder.encode(name, “utf-8”),这个是不过时的,如果编码不是utf-8需要使用这个。
String path = "http://192.168.1.103/Web/servlet/CheckLogin?name=" + URLEncoder.encode(name) + "&pass=" + pass;
核心代码
public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}Handler handler = new Handler(){public void handleMessage(android.os.Message msg) {Toast.makeText(MainActivity.this, (String)msg.obj, 0).show();}};public void click(View v){EditText et_name = (EditText) findViewById(R.id.et_name);EditText et_pass = (EditText) findViewById(R.id.et_pass);final String name = et_name.getText().toString();final String pass = et_pass.getText().toString();Thread t = new Thread(){@Overridepublic void run() {//提交的数据需要经过url编码,英文和数字编码后不变@SuppressWarnings("deprecation")String path = "http://192.168.13.13/Web2/servlet/LoginServlet?name=" + URLEncoder.encode(name) + "&pass=" + pass;try {URL url = new URL(path);HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setRequestMethod("GET");conn.setConnectTimeout(5000);conn.setReadTimeout(5000);if(conn.getResponseCode() == 200){InputStream is =conn.getInputStream();String text = Utils.getTextFromStream(is);Message msg = handler.obtainMessage();msg.obj = text;handler.sendMessage(msg);}} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}};t.start();}}
getTextFromStream
public static String getTextFromStream(InputStream is){byte[] b = new byte[1024];int len = 0;//创建字节数组输出流,读取输入流的文本数据时,同步把数据写入数组输出流ByteArrayOutputStream bos = new ByteArrayOutputStream( );try {while((len = is.read(b)) != -1){bos.write(b, 0, len);}//把字节数组输出流里的数据转换成字节数组String text = new String(bos.toByteArray( ));return text;} catch (IOException e) {e.printStackTrace();}return null;}
0 0
- Android学习(49) -- 使用get方式提交数据
- 在android中使用Get方式提交数据
- Android学习使用Post方式提交数据
- Android学习(50) -- 使用post方式提交数据
- Androidx学习笔记(36)---网络提交数据的方式--GET方式提交数据
- Android向服务器提交数据(方式:get、post、AsyncHttpClient )
- 使用get和post方式提交数据
- Android-使用HttpClient框架提交数据(get/post)
- Android学习之Http使用Post方式进行数据提交
- Android学习笔记46:使用Post方式提交数据
- Android学习之Http使用Post方式进行数据提交
- Android学习笔记46:使用Post方式提交数据
- Android学习之Http使用Post方式进行数据提交
- Android学习笔记46:使用Post方式提交数据
- Android学习笔记46:使用Post方式提交数据
- Android之使用HTTP协议的Get/Post方式向服务器提交数据
- Android之使用HTTP协议的Get/Post方式向服务器提交数据
- Android之使用HTTP的get,post,HttpClient三种方式向服务器端提交文本数据
- select 选中 事件 值
- Scheme:Y combinator
- 这周一定把zepto源码读完,抽取精华与大家分享
- 实时写入的内容同时写到另外一个控件上
- 易經大意 141_160
- Android学习(49) -- 使用get方式提交数据
- 亿级Web系统的高容错性实践
- 成为C++高手之if与switch
- Android学习(50) -- 使用post方式提交数据
- 针对软件研发流程,我总结出的流水线生产方法论
- Field 'id' doesn't have a default value 对于SSH 架构,解决起来就简单多了
- POJ 1584 Robots 最少边覆盖 二分图最大匹配
- 【再见CSDN】
- 【华为OJ】【041-求int型数据在内存中存储时1的个数】