访问Http接口的两种请求方式
1. POST方式请求
public void testPostLogin() throws Exception{
String url = "http://192.168.1.160:8080/app/user/login.xhtml";
Map<String,String> paramMap = new HashMap<String,String>();
paramMap.put("username","ting");
paramMap.put("password","1");
URL realUrl = new URL(url);
// 打开与URL之间的链接
URLConnection conn = realUrl.openConnection();
// 设置通用的请求属性
conn.setRequestProperty("accept","*/*");
conn.setRequestProperty("connection","Keep-Alive");
conn.setRequestProperty("user-agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)\"");
conn.setRequestProperty("Charset","UTF-8");
//发送POST请求必须设置如下两行
conn.setDoOutput(true);
conn.setDoInput(true);
// 获取URLConnection对象对应的输出流
PrintWriter out = new PrintWriter(conn.getOutputStream());
// 设置请求属性
String param = "";
if(paramMap!=null&¶mMap.size()>0){
for(Map.Entry<String,String> entry :paramMap.entrySet()){
String key = entry.getKey();
String value = entry.getValue();
param += (key+"="+value+"&");
}
param = param.substring(0,param.length()-1);
}
// 发送请求参数
out.print(param);
// flush输出流缓冲
out.flush();
// 定义BufferedReader输入流来读取URL的响应
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8"));
String line ;
String result = "" ;
while((line=reader.readLine())!=null){
result +=line;
}
JSONParser parser = new JSONParser();
JSONObject jsonObject = (JSONObject)parser.parse(result);
Object regFlag = jsonObject.get("retFlag");
Object message = jsonObject.get("message");
Object data = jsonObject.get("data");
jsonObject = (JSONObject)parser.parse(data.toString());
Object id = jsonObject.get("id");
Object username = jsonObject.get("username");
System.out.print(result);
}
2. GET方式请求
public void testGetLogin() throws Exception{
URL url = new URL("http://192.168.1.160:8080/app/user/login.xhtml?username=ting&password=1");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.connect();
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(),"UTF-8"));
String line ;
StringBuilder sb = new StringBuilder();
while((line=reader.readLine())!=null){
sb.append(line);
}
connection.disconnect();
JSONParser parser = new JSONParser();
JSONObject jsonObject = (JSONObject)parser.parse(sb.toString());
Object regFlag = jsonObject.get("retFlag");
Object message = jsonObject.get("message");
Object data = jsonObject.get("data");
jsonObject = (JSONObject)parser.parse(data.toString());
Object id = jsonObject.get("id");
Object username = jsonObject.get("username");
System.out.print(sb.toString());
}
访问Http接口的两种请求方式的更多相关文章
- Ajax中的get和post两种请求方式的异同
Ajax中我们经常用到get和post请求.那么什么时候用get请求,什么时候用post方式请求呢? 在做回答前我们首先要了解get和post的区别. 1. get是把参数数据队列加到提交表单的A ...
- Ajax的get和post两种请求方式区别
Ajax的get和post两种请求方式区别 (摘录):http://ip-10000.blog.sohu.com/114437748.html 解get和post的区别. 1. get是把参数数据队列 ...
- Java Callable接口与Future接口的两种使用方式
Java Callable.Future的两种使用方式Callable+Futurepublic class Test { public static void main(String[] args) ...
- 转:Ajax中的get和post两种请求方式的异同
1. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到.post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML ...
- 两种请求方式URLHttpconnection 和Httpclient提交表单 网络篇(二)
安卓有两种发送请求的方式:URLHttpconnection 和Httpclient 下面就来讲下这两种方式,这篇是最基础的使用 进阶请看第二篇 先占位 打扫卫生去了T T 快过年了 框架就放网络篇 ...
- 通过Javascript调用微软认知服务情感检测接口的两种实现方式
这是今天在黑客松现场写的代码.我们的项目需要调用认知服务的情感识别接口.官方提供了一种方式,就是从一个远程图片进行识别.我另外写了一个从本地文件读取并上传进行识别的例子. 官方文档,请参考 https ...
- 发送http请求,get和post两种请求方式
GET请求 GetMethod getMethod=null; String datas = "json=" + plain; HttpClient httpClient = ne ...
- 【spring】RestTemplate发送请求,请求第三方接口 的几种请求方式POST,GET,DELETE,PUSH
org.springframework.web.client.RestTemplate 参考地址:http://www.cnblogs.com/UniqueColor/p/7123347.html G ...
- 表单提交的两种请求方式:post与get。post与get两者的对比分析
post与get两者的对比分析:
随机推荐
- BeanFactory和ApplicationContext的区别(Bean工厂和应用上下文)
https://blog.csdn.net/qq_20757489/article/details/88543252 https://blog.csdn.net/pythias_/article/de ...
- 第7节 Arrays工具类
package cn.itcast.day08.demo04; import java.util.Arrays; /*java.util.Arrays是一个与数组相关的工具类,里面提供了大量静态方法, ...
- 模板编程里class 与 typename 的区别
大部分情况下可以相互替换,但是某些情况class 无法替代typename,例如 template< class T, class U > std::shared_ptr<T> ...
- springboot打包,jar包可以以service方式启动
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> ...
- 优秀的github java项目
转载:https://www.zhihu.com/question/24834285/answer/251369977 biezhi/blade:先推荐下自己的哈哈,一款轻量级.高性能.简洁优雅的MV ...
- 安装chrome并设置默认主页
chrome 版本 https://support.google.com/chrome/a/answer/187948?hl=en&ref_topic=2936229
- 7)get方式提交表单和简单处理
一个带有html的代码: hello.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ...
- virtualbox Ubuntu拒绝root用户ssh远程登录
http://www.bcty365.com/content-122-6241-1.html
- redis day02 下
位图:是二进制数据(0101101010)2^32 强势点: 01_login :101110(比如:第一天登录,二天没登录) 传统的字符串解决方案中 记录用户登录日期 统计堪忧 01_login_ ...
- winform 界面加载慢原因分析
公司新来的开发人员,对winform开发还不是特别精通,在做个性化界面体验的时候容易出现闪烁和加载慢 闪烁的话,通过winform窗体的双缓存来解决在form 窗体中增加如下代码 protected ...