httpclient方式提交数据到服务器
2024-09-05 10:04:11
get方式:
//使用HttpClient请求服务器将用户密码发送服务器验证
try{
String path = "http://192.168.13.83:8080/xuexi/servlet/LoginServlet?username="+URLEncoder.encode(username,"utf-8")+"&pwd="+URLEncoder.encode(password,"utf-8");
//1.创建一个httpClient对象
HttpClient httpclient = new DefaultHttpClient(); //2.设置请求的方式
HttpGet httpget = new HttpGet(path);
//3.执行一个http请求
HttpResponse response = httpclient.execute(httpget);
//4.获取请求的状态码,
StatusLine statusLine = response.getStatusLine();
int code = statusLine.getStatusCode(); //5.判断状态码后获取内容
if(code == 200){
HttpEntity entity = response.getEntity();//获取实体内容,中封装的有http请求返回的流信息
InputStream inputStream = entity.getContent();
//将流信息转换成字符串
String result = StreamUtils.streamToString(inputStream); Message msg = Message.obtain();
msg.what = 1;
msg.obj = result;
handler.sendMessage(msg);
} }catch (Exception e) {
e.printStackTrace();
}
post方式:
//使用UrlConncetion请求服务器将用户密码发送服务器验证
try{
String path = "http://192.168.13.83:8080/xuexi/servlet/LoginServlet";
//1.创建一个httpclient对象
HttpClient httpclient = new DefaultHttpClient();
//2.创建一个请求方式
HttpPost httppost = new HttpPost(path);
//创建集合封装数据
ArrayList<BasicNameValuePair> arrayList = new ArrayList<BasicNameValuePair>();
BasicNameValuePair nameValuePair = new BasicNameValuePair("username",username);
arrayList.add(nameValuePair);
BasicNameValuePair nameValuePair1 = new BasicNameValuePair("pwd",password);
arrayList.add(nameValuePair1); //创建一个Entity
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(arrayList, "utf-8");
//设置请求时的内容
httppost.setEntity(entity); //3.执行一个请求,返回一个response对象
HttpResponse response = httpclient.execute(httppost);
//4.获取状态码
int code = response.getStatusLine().getStatusCode();
//5.判断并获取内容
if(code == 200){
HttpEntity entity1 = response.getEntity();//获取实体内容,中封装的有http请求返回的流信息
InputStream inputStream = entity1.getContent();
//将流信息转换成字符串
String result = StreamUtils.streamToString(inputStream);
Message msg = Message.obtain();
msg.what = 2;
msg.obj = result;
handler.sendMessage(msg);
} }catch (Exception e) {
e.printStackTrace();
}
最新文章
- Celery的实践指南
- 什么是Javascript Hoisting?
- python起的 simpleHTTPServer服务传输文件
- python hashlib模块
- 深入理解C语言
- Android中AutoCompleteTextView的使用
- Python xml 解析百度糯米信息
- hibernate中增加annotation @后不提示信息【转】
- C++记录2
- 读书笔记—CLR via C#线程25-26章节
- 【Android Developers Training】 77. 使用Wi-Fi P2P进行服务搜索
- Windows远程linux服务器执行shell命令
- Java 控制结构与方法
- Mysql 计划任务
- 分布式文件系统FastDFS安装教程
- HTTP协议的简单解析
- 重建控制文件ORA-12720
- 多线程之CountDownLatch和CyclicBarriar使用
- hihocoder217周 树形DP
- 使用重绘项美化WinForm中的控件
热门文章
- tcache BUUCTF gyctf_2020_signin
- Java高级程序设计笔记 • 【第2章 多线程(一)】
- .net core集成使用EasyNetQ来使用rabbitmq
- 4 - 基于ELK的ElasticSearch 7.8.x技术整理 - 高级篇( 续 ) - 更新完毕
- spring-Ioc(二)学习笔记
- Scrapy的Item_loader机制详解
- MASA Framework - 整体设计思路
- MySQL提权之udf提权(无webshell的情况)
- 曼孚科技:“四管齐下”筑牢AI数据隐私安全防线
- 源代码管理git地址从http改为https,提交400错误