Java跨系统调用接口(POST)
package com.bing.util; import com.bing.constant.ResultModel;
import com.bing.model.Company;
import com.google.common.collect.Lists;
import net.sf.json.JSONObject;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.params.CoreConnectionPNames;
import org.apache.http.params.HttpParams;
import org.apache.http.util.EntityUtils; import java.nio.charset.Charset;
import java.util.HashMap;
import java.util.List;
import java.util.Map; public class ss {
public static String sendPost(String url, final Map<String,String> head, final Company paemear) throws Exception{
boolean isSuccess = false;
String str="";
HttpPost post = null;
HttpClient httpClient = new DefaultHttpClient();
// 设置超时时间
httpClient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 6000);
httpClient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 6000); post = new HttpPost(url);
// 构造消息头 post.setHeader("Content-type", "application/json; charset=utf-8");
for (Map.Entry<String,String> entry : head.entrySet()) {
post.setHeader(entry.getKey(),entry.getValue());
}
// 构建消息实体
// 发送Json格式的数据请求
System.out.println(System.currentTimeMillis());
HttpResponse response = httpClient.execute(post);
System.out.println(System.currentTimeMillis());
// 检验返回码
int statusCode = response.getStatusLine().getStatusCode();
if(statusCode != HttpStatus.SC_OK){
isSuccess = false;
}else{
int retCode = 0;
/**读取服务器返回过来的json字符串数据**/
str = EntityUtils.toString(response.getEntity());
}
if(post != null){
try {
post.releaseConnection();
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
return str;
} /**
* 并发量测试
* @param xian 线程池个数
* @param count 每个线程的调用次数
* @param url 调用的 URL
* @param head 头参数
* @param paemear 传入参数
*/
public static void bing(final int xian,final int count, final String url, final Map<String,String> head, final Company paemear){ for(int i = 1; i<xian; i++){
final int m =i;
Thread t = new Thread(new Runnable(){//线程启动
public void run(){
try {
int j = 0;//成功次数
int k = 0; //失败次数
for (int l=1;l<count;l++){
System.out.println(m +"号线程");
String str = ss.sendPost(url,head,paemear);
System.out.println(str);
JSONObject jsonObject=JSONObject.fromObject(str);
ResultModel resultModel=(ResultModel)JSONObject.toBean(jsonObject, ResultModel.class);
if(resultModel.getError()==200){
j++;
}else{
k++;
}
System.out.println(m+"号线程正在调用:"+l+"次");
}
System.out.println(m+"号线程共调应100次 成功:"+j+"失败:"+k);
}catch (Exception e){
System.out.println(m +"号线程查询出错");
}
}
});
t.start();
}
} public static void main(String[] args){
final Map<String,String> head = new HashMap<>();
head.put("token","e7dd5368743457c51405802283d54057ca95f9c73a19fe54");
head.put("terminalType","Android");
Company paemear = new Company();
bing(2,2,"http://192.168.2.203:8080/HouseLizardCloud/Company/addCompany",head,paemear); }
}
Java跨系统调用接口(POST)的更多相关文章
- httpclient,java跨系统调用,第三接口调用实例
java跨系统调用,第三方接口调用,有三种方式 1:rmi/rpc 传序列化对象 2:webservice 传xml 3:restful 传json 接下来给大家演示怎么用httpclient调用re ...
- JNI的替代者—使用JNA访问Java外部功能接口
摘自:http://www.cnblogs.com/lanxuezaipiao/p/3635556.html JNI的替代者-使用JNA访问Java外部功能接口 1. JNA简单介绍 先说JNI(Ja ...
- Java NIO Path接口和Files类配合操作文件
Java NIO Path接口和Files类配合操作文件 @author ixenos Path接口 1.Path表示的是一个目录名序列,其后还可以跟着一个文件名,路径中第一个部件是根部件时就是绝对路 ...
- 【C/C++开发】【Java开发】JNI的替代者—使用JNA访问Java外部功能接口
JNI的替代者-使用JNA访问Java外部功能接口 1. JNA简单介绍 先说JNI(Java Native Interface)吧,有过不同语言间通信经历的一般都知道,它允许Java代码和其他语言( ...
- 【转】java通用URL接口地址调用方式GET和POST方式
java通用URL接口地址调用方式GET和POST方式,包括建立请求和设置请求头部信息等等......... import java.io.ByteArrayOutputStream; import ...
- Java继承和接口
接口最关键的作用,也是使用接口最重要的一个原因:能上溯造型至多个基础类.使用接口的第二个原因与使用抽象基础类的原因是一样的:防止客户程序员制作这个类的一个对象,以及规定它仅仅是一个接口.这样便带来了一 ...
- java中set接口的用法
java中的set接口有如下的特点: 不允许出现重复元素: 集合中的元素位置无顺序: 有且只有一个值为null的元素. 因为java中的set接口模仿了数学上的set抽象,所以,对应的数学上set的特 ...
- Java调用webservice接口方法
java调用webservice接口 webservice的 发布一般都是使用WSDL(web service descriptive langu ...
- Java面向对象:接口
Java面向对象之接口 什么是接口:接口是一种规范和标准,他们可以约束类的行为,是一些方法特征的集合 语法: [修饰符] interface 接口名 extends 父接口1,夫接口2....... ...
随机推荐
- Nginx的各种报错总结
1.Nginx安装过程报错 错误一:软件依赖包未正确安装问题---PCRE依赖包没有安装 ./configure: error: the HTTP rewrite module requires th ...
- SQL Server 数据库定时自动备份(转)
本文转载自:http://www.cnblogs.com/zhangq723/archive/2012/03/13/2394102.html 作者:清风寻梦 在SQL Server中出于数据安全的考虑 ...
- 序列化及json&pickle的使用
一.序列化 序列化是指把内存里的数据类型转变成字符串.以使其能存储到硬盘或通过网络传输到远程.——硬盘或网络传输时只能接受bytes. Python中用于序列化的两个模块: json:用于字符串和Py ...
- drupal对数据库操作
// nodenode_load($nid = NULL, $vid = NULL, $reset = FALSE);node_load_multiple($nids = array(), $cond ...
- 获取css样式,style、getComputedStyle及currentStyle的区别
样式表有三种: 内嵌样式:<div id="box" style="color:red">box</div>,style写在html中的 ...
- .NET开源工作流RoadFlow-表单设计-HTML编辑器
roadflow目前采用的html编辑器为ueditor编辑器(和表单设计器的编辑器相同). 绑定字段:与数据表的某个字段对应. 宽度:编辑器的宽度. 高度:编辑器的高度. 运行效果如下:
- 02_SimpleTrigger
[SimpleTrigger的构造方法] SimpleTrigger(String name,String group); //指定Trigger的所属组 和 名称 SimpleTrigger(Str ...
- supervisor运行virtualenv环境下的nagios-api
supervisord-example.conf [unix_http_server] file=/tmp/supervisor.sock ; path to your socket file [su ...
- SVN:验证位置时发生错误解决方案
1. 2. 3.preferencens > svn >svn接口-选择SVNKit(Pure Java)设置后,再引用svn路径后,直接弹出输入用户名和密码就对了. 4.
- Oracle日志组添加冗余文件和日志组
rac中需要指定thread添加日志组RAC:alter database add logfile thread 1 group 1('+DATA/irac/redo01_1.log','+DATA/ ...