public class TestResourceCommentRestController {
private final static String API_URI_DEBUG = "http://localhost:8080/wodm-api/api/v1";
public static final int HASH_INTERATIONS = 1024;
private static boolean FLAG_DEBUG = true; public static void main(String[] args) {
testComment();
// System.out.println("makeAppkey="+Strings.makeAppkey());
// makeAppkey();
// String[] chars = null;
// chars = Lists.newArrayList("").toArray(chars);
// for (int i = 0; i < 10; i++) {
// System.out.println("["+i+"]"+RandomStringUtils.random(32, "abcdefghijklmnopqrstuvwlyz0123456789"));
// } } public static void makeAppkey(){
System.out.println(RandomStringUtils.random(32, "abcdefghijklmnopqrstuvwlyz0123456789"));
} public static void testComment(){
String httpUrl = null; if(FLAG_DEBUG){
httpUrl = API_URI_DEBUG + "/comment/reply";
}else { httpUrl = API_URI + "/comment"; }
String postBody = null; //ResourceCommentDTO1 dto = new ResourceCommentDTO1();
JSONObject object=new JSONObject();
for(long i = 584 ;i < 585 ; i++){
object.put("sendId", 449L);
object.put("content", "回复222222!");
object.put("receiveId", 457l);
object.put("parentId", 1877l);
object.put("commentId", 1877l);
object.put("type", 1);
object.put("resourceId",i); /*dto.setResourceId(i);
dto.setSendId(147L);
dto.setContent("回复222222!");
dto.setParentId(322l);*/
//List<Long> list=new ArrayList<Long>();
/*list.add(143l);
list.add(438l);*/
//dto.setReceiveIds(list);
//object.put("receiveIds", list);
postBody = JSON.toJSONString(object);
//postBody = JSON.toJSONString(dto);
System.out.println("---"+postBody);
String respBody = httpPost(httpUrl, postBody);
System.out.println("respBody="+respBody);
} } private static String httpPost(String httpUrl, String body) {
URL remoteUrl = null;
OutputStreamWriter wr = null;
InputStream is = null;
BufferedReader reader = null;
try {
URLConnection conn = null;
remoteUrl = new URL(httpUrl);
conn = remoteUrl.openConnection();
conn.setDoOutput(true);
conn.setConnectTimeout(5 * 1000);// time out 5s conn.setRequestProperty("Content-Type", "application/json"); // conn.setRequestProperty("Accept",
// "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
//
// conn.setRequestProperty("Accept",
// "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
// conn.setRequestProperty("Accept-Language", "en-us,en;q=0.5");
// conn.setRequestProperty("Connection", "keep-alive");
// conn.setRequestProperty(
// "User-Agent",
// "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:13.0) Gecko/20100101 Firefox/13.0.1");
wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(body);
wr.flush();
is = conn.getInputStream();
reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
// response
StringBuffer responseBody = new StringBuffer();
String responseStr = null;
while ((responseStr = reader.readLine()) != null) {
if (responseBody.length() > 0) {
responseBody.append("\r\n");
}
responseBody.append(responseStr);
}
return responseBody.toString();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
return null;
} }
  

post请求测试代码的更多相关文章

  1. 在内核中异步请求设备固件firmware的测试代码

    在内核中异步请求设备固件firmware的测试代码 static void ghost_load_firmware_callback(const struct firmware *fw, void * ...

  2. 在Jmeter中使用自定义编写的Java测试代码

    我们在做性能测试时,有时需要自己编写测试脚本,很多测试工具都支持自定义编写测试脚本,比如LoadRunner就有很多自定义脚本的协议,比如"C Vuser","Java ...

  3. 利用python httplib模块 发送Post请求测试web服务是否正常起来!

    最近在学习python,恰好老大最近让我搞个基于post请求测试web服务是否正常启用的小监控,上网查了下资料,发现强大的Python恰好能够用上,所以自己现学现卖,顺便锻炼下自己. 由于本人也刚接触 ...

  4. 全--教程API, gem 'rest-client'(用于发简单请求); 请求测试;

    安装:rest-client4400✨ gem install rest-client 一个简单的HTTP和REST client for Ruby. 可以用它来发HTTP请求 基本用法: requi ...

  5. 自定义编写jmeter的Java测试代码

    我们在做性能测试时,有时需要自己编写测试脚本,很多测试工具都支持自定义编写测试脚本,比如LoadRunner就有很多自定义脚本的协议,比如"C Vuser","JavaV ...

  6. Java&Selenium自动化测试实现页面元素、页面对象及测试代码分离

    一.摘要 本篇博文将介绍自动化测试实现页面元素.页面对象及测试代码分离在自动化框架中的实现 二.解析页面元素定位信息 首先,将页面元素与实际的代码分离,首先我们将页面元素定位信息和定位表达式保存在属性 ...

  7. 使用 TypeScript & mocha & chai 写测试代码实战(17 个视频)

    使用 TypeScript & mocha & chai 写测试代码实战(17 个视频) 使用 TypeScript & mocha & chai 写测试代码实战 #1 ...

  8. .NET单元测试的艺术-3.测试代码

    开篇:上一篇我们学习单元测试和核心技术:存根.模拟对象和隔离框架,它们是我们进行高质量单元测试的技术基础.本篇会集中在管理和组织单元测试的技术,以及如何确保在真实项目中进行高质量的单元测试. 系列目录 ...

  9. mysql锁 实战测试代码

    存储引擎 支持的锁定 MyISAM 表级锁 MEMORY 表级锁 InnoDB 行级锁 BDB 页面锁 表级锁:开销小,加锁快:不会出现死锁:锁定粒度大,发生锁冲突的概率最高,并发度最低.行级锁:开销 ...

随机推荐

  1. Python基础-封装与扩展、静态方法和类方法

    一.封装与扩展 封装在于明确区分内外,使得类实现者可以修改封装内的东西而不影响外部调用者的代码:而外部使用者只知道一个接口(函数),只要接口(函数)名.参数不变,使用者的代码永远无需改变.这就提供一个 ...

  2. 【vim】自动补全 Ctrl+n

    Vim 默认有自动补全的功能.的确这个功能是很基本的,并且可以通过插件来增强,但它也很有帮助.方法很简单. Vim 尝试通过已经输入的单词来预测单词的结尾. 比如当你在同一个文件中第二次输入 &quo ...

  3. vue的学习(常用功能)

    1.介绍vue MVP和MVVM模式!!! mvp模式,其中m是模型是ajax请求数据, v是视图层(html),p是控制器,就是使用jq来实现业务逻辑相关操作(DOM操作很多) MVVM模式,其中M ...

  4. ES系列十六、集群配置和维护管理

    一.修改配置文件 1.节点配置 1.vim elasticsearch.yml # ======================== Elasticsearch Configuration ===== ...

  5. ES系列八、正排索Doc Values和Field Data

    1.Doc Values 聚合使用一个叫Doc Values的数据结构.Doc Values使聚合更快.更高效且内存友好. Doc Values的存在是因为倒排索引只对某些操作是高效的.倒排索引的优势 ...

  6. 003_饿了么chaosmonkey实现

    背景 公司目前的服务设计大部分满足 design for failure 理念.随着业务复杂度的提升,我们很难再保证对系统故障的容错性.我们需要工具来验证服务的容错性,基于这个需求我们使用了 tc 工 ...

  7. ubuntu 14.04 上配置vlc组播源

    VLC:  Video LAN多媒体播放器,是一个跨平台开源的软件,支持主流的编码格式MPEG-2.H.264等. (1)ubuntu上安装vlc: sudo  apt-get install vlc ...

  8. elk系统通过nginx添加对kibana的登录认证

    elk系统添加对kibana的登录认证 关于elk系统的安装配置可以参考:Centos6.5安装Logstash ELK stack 日志管理系统及使用详解 http://blog.csdn.net/ ...

  9. discuz3.4:在Centos6.5中安装过程

    参考文章:https://www.cnblogs.com/hehongbin/articles/5741270.html https://www.cnblogs.com/mitang/p/552454 ...

  10. 03-MySql安装和基本管理

    本节掌握内容: MySQL的介绍安装.启动 windows上制作服务 MySQL破解密码 MySQL中统一字符编码 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 O ...