详细参考这个博文:http://www.cnblogs.com/itliucheng/p/5065619.html

一、get请求:

  1.         //关键代码就这几行
  1. String urlNameString ="http://127.0.0.1:8601/setResult/" + text + "/" + newWordsText;
  2.  
  3. // //往服务器端写内容 也就是发起http请求需要带的参数
    // // 根据地址获取请求
    HttpGet request = new HttpGet(urlNameString);//这里发送get请求
    // // 获取当前客户端对象
    HttpClient httpClient = new DefaultHttpClient();
    // // 通过请求对象获取响应对象
  1. HttpResponse response = httpClient.execute(request);
    ======================================================================
  1.  
  1. @RequestMapping("getWeChatUserInfo")
  2. @ResponseBody
  3. public String getWeChatUserInfo(String token,String openid){
  4. String urlNameString = "https://api.weixin.qq.com/sns/userinfo?access_token=TOKEN&openid=OPENID";
  5. urlNameString=urlNameString.replace("TOKEN", token);
  6. urlNameString=urlNameString.replace("OPENID",openid);
  7. String result="";
  8. try {
  9. // 根据地址获取请求
  10. HttpGet request = new HttpGet(urlNameString);//这里发送get请求
  11. // 获取当前客户端对象
  12. HttpClient httpClient = new DefaultHttpClient();
  13. // 通过请求对象获取响应对象
  14. HttpResponse response = httpClient.execute(request);
  15.  
  16. // 判断网络连接状态码是否正常(0--200都数正常)
  17. if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
  18. result= EntityUtils.toString(response.getEntity(),"utf-8");
  19. }
  20. } catch (Exception e) {
  21. // TODO Auto-generated catch block
  22. e.printStackTrace();
  23. }
  24. return result;
  25. //....result是用户信息,站内业务以及具体的json转换这里也不写了...
  26. }

 

  1. //要调用的接口形式
  2. @GetMapping("/setResult/{word}/{classifyName}")
  3. public Result<String> setResult(@PathVariable("word") String word, @PathVariable("classifyName") String classifyName) {
  4. int i1 = classifyService.selectClassifyCountByName(classifyName);

  

二、但是由于get方式请求内容大小有限,现在改由post请求提交:

  1. //接口形式
  2. // @ApiOperation("测试选择数据并添加分类接口,word需要分类的文本,classifyName添加分类")
  3. @PostMapping("/setResult")
  4. public Result<String> setResult(@RequestParam String word,@RequestParam String classifyName) {
  5. int i1 = classifyService.selectClassifyCountByName(classifyName);
  6. if (i1 > 0) {
  7. //分类已存在
  8. Classify classify = classifyService.selectClassifyByName(classifyName);
  9. KeyWord keyword = new KeyWord();
  10. keyword.setKeywordName(word);
  11. keyword.setClassifyId(classify.getId());
  12. classifyService.addKeyWord(keyword);//添加KeyWord数据
  13. modelExercise();//更新本地硬盘的表
  1. //关键代码就这几行
    String urlNameString = "http://127.0.0.1:8601/setResult";
  2.  
  3. //POST的URL
  4. HttpPost httppost = new HttpPost(urlNameString);
  5. //建立HttpPost对象
  6. List<NameValuePair> params = new ArrayList<NameValuePair>();
  7. //建立一个NameValuePair数组,用于存储欲传送的参数
  8. params.add(new BasicNameValuePair("word", word));
  9. params.add(new BasicNameValuePair("classifyName", classifyName));
  10. //添加参数
  11. httppost.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
  12. //设置编码
  13. HttpResponse response = new DefaultHttpClient().execute(httppost);
  14. //发送Post,并返回一个HttpResponse对象
  15. if (response.getStatusLine().getStatusCode() == 200) {//如果状态码为200,就是正常返回
  16. String result = EntityUtils.toString(response.getEntity());
  17. }

三、结果数据库用varchar无法容纳内容,现在改由text来存储

HttpClient远程调用接口的更多相关文章

  1. HttpClient方式调用接口的实例

    使用HttpClient的方式调用接口的实例. public class TestHttpClient { public static void main(String[] args) { // 请求 ...

  2. java Webservice(一)HttpClient远程调用

    我们将Web Service发布在Tomcat或者其他应用服务器上后,有很多方法可以调用该Web Service,常用的有两种: 1.通过浏览器HTTP调用,返回规范的XML文件内容      2.通 ...

  3. 几种远程调用接口协议简单比较和web service(SOAP)与HTTP接口的区别:

    什么是web service?       答:soap请求是HTTP POST的一个专用版本,遵循一种特殊的xml消息格式Content-type设置为: text/xml任何数据都可以xml化. ...

  4. HttpClient方式调用接口的java 简单案例源码+附jar包

    1 package com.itNoob.httpClient; import org.apache.commons.httpclient.HttpClient; import org.apache. ...

  5. Httpclient远程调用WebService示例(Eclipse+httpclient)

    package cn.com.taiji.pos.httpserver; import java.io.BufferedInputStream;import java.io.ByteArrayOutp ...

  6. Httpclient远程调用WebService示例

    我们将Web Service发布在Tomcat或者其他应用服务器上后,有很多方法可以调用该Web Service,常用的有两种: 1.通过浏览器HTTP调用,返回规范的XML文件内容      2.通 ...

  7. tomcat+webservice实现简单的web服务远程调用接口

    1,准备工作:    ①需要使用到jaxws的一系列架包,网址:http://jax-ws.java.net,我下的是比较新的一个版本(下载好以后吧架包发在lib下),②webservice的一个工具 ...

  8. httpclient方式调用接口

    public class ToInterface { /** * post方式提交表单(模拟用户登录请求) */ public static void postForm() { // 创建默认的htt ...

  9. SpringBoot使用HttpClient远程调用

    一. Get请求 try { //拼接url url = url+"access_token="+token+"&department_id=1&fetc ...

随机推荐

  1. html5进阶之canvas图像基础

    1.首先还是使用之前讲过的Image()函数来预加载图像. 在调用图像之前,需创建一个事件监听器,为其保证图像已经正确的加载. 如下图: 监听图片已经正确加载 2.把图像显示在画布上面,这里将不再使用 ...

  2. Bug预防体系

    Web常见产品问题及预防 测试人员在每次版本迭代中,会对项目的整体质量有一个把控,对于项目常见的问题,开发经常犯的错误都会有所了解,为了避免或者减少这样的错误或不规范的事情在发生,测试人员可以整理构建 ...

  3. [HDU4336]Card Collector(min-max容斥,最值反演)

    Card Collector Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  4. 在React组件unmounted之后setState的报错处理

    最近在做项目的时候遇到一个问题,在 react 组件 unmounted 之后 setState 会报错.我们先来看个例子, 重现一下问题: class Welcome extends Compone ...

  5. vim 注释取消注释多行

    按下ctrl+v选中多行,按大写I(必须是大写的I)进入编辑模式,输入注释符号如#,最后按下esc退出就完成了 取消注释一样按下ctrl+v选中,按d删除

  6. 关于计算机中的《补码》,公式:-n=~n+1 引伸:~n=-n-1

    在计算机系统中,数值一律用补码来表示(存储).主要原因是使用补码可以将符号位和其他位统一处理:同时,减法也可以按加法来处理.另外,两个用补码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃.补 ...

  7. Linux使用nginx部署Laravel

    问题描述 Laravel是PHP下当今最受欢迎的web应用开发框架,github上start数远超第二名Symfony,以前我用这个框架做项目的时候通常就是扔到apache里面,然后配置.htacce ...

  8. 在scala中:: , +:, :+, :::, +++的区别总结

    初学Scala的人都会被Seq的各种操作符所confuse.下面简单列举一下各个Seq操作符的区别. 4种操作符的区别和联系 :: 该方法被称为cons,意为构造,向队列的头部追加数据,创造新的列表. ...

  9. asp.net限制用户登录错误次数

    很经常在登录一个网站的时候看到,如果你登录的时候输入的账号密码错误超过三次就被锁定,然后等一段时间才能继续登录,最最经常使用的就是银行系统啦~~ 该功能处理流程如下: string uid = Req ...

  10. 2017.7.12 IDEA热部署(更新jsp或java代码不用重启tomcat即可即时生效)

    选择war explored. 主要在于 On frame deactivation选项配置选择为 Update classes and resourses(当且仅当在Deployment配置页,对应 ...