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

一、get请求:

          //关键代码就这几行
     String urlNameString ="http://127.0.0.1:8601/setResult/" + text + "/" + newWordsText;

//        //往服务器端写内容 也就是发起http请求需要带的参数
// // 根据地址获取请求
HttpGet request = new HttpGet(urlNameString);//这里发送get请求
// // 获取当前客户端对象
HttpClient httpClient = new DefaultHttpClient();
// // 通过请求对象获取响应对象
       HttpResponse response = httpClient.execute(request);
======================================================================

@RequestMapping("getWeChatUserInfo")
@ResponseBody
public String getWeChatUserInfo(String token,String openid){
String urlNameString = "https://api.weixin.qq.com/sns/userinfo?access_token=TOKEN&openid=OPENID";
urlNameString=urlNameString.replace("TOKEN", token);
urlNameString=urlNameString.replace("OPENID",openid);
String result="";
try {
// 根据地址获取请求
HttpGet request = new HttpGet(urlNameString);//这里发送get请求
// 获取当前客户端对象
HttpClient httpClient = new DefaultHttpClient();
// 通过请求对象获取响应对象
HttpResponse response = httpClient.execute(request); // 判断网络连接状态码是否正常(0--200都数正常)
if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
result= EntityUtils.toString(response.getEntity(),"utf-8");
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result;
//....result是用户信息,站内业务以及具体的json转换这里也不写了...
}

 

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

  

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

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

三、结果数据库用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. js-监听页面滚动

    两种监听页面滚动的方法 一.原生js通过window.onscroll监听 window.onscroll = function() { //为了保证兼容性,这里取两个值,哪个有值取哪一个 //scr ...

  2. java trim start end space

    Java program that trims starts and ends public class Program { public static String trimEnd(String v ...

  3. nat的翻译类型(1)--静态nat

    目的:在1.1 1.2 1.3 三台内网的服务器访问外网的服务器(202.1.1.2)时,将内网ip转换为外网ip. 1.设置内网三台服务器的Ip ,网关,以及外网服务器的ip网关 分别为:192.1 ...

  4. linux-启动脚本-souce与sh

    source:        在当前shell程序中执行,  因此当前shell程序中的变量和环境变量,均可见.   执行的脚本,能更新到当前shell程序. sh:            开启一个新 ...

  5. linux之ssh命令

    ssh命令用于远程登录上Linux主机. 常用格式:ssh [-l login_name] [-p port] [user@]hostname更详细的可以用ssh -h查看. 不指定用户: ssh 1 ...

  6. MessageFormat.format 字符串的模板替换

    项目目前在消息的模版,模版中需要替换很多参数,比方说“用户名”,“日期”等等.不过目前没有想到更好的替换参数的方法,所以目前只能使用一个比较简单的方式来实现.这个方式太死板,参数对应必须要在代码中写死 ...

  7. 完全理解Gson(3):Gson反序列化

    完全理解Gson(2):Gson序列化 完全理解Gson(1):简单入门 本文延续前一篇文章,继续介绍简单基本的Gson用法.这篇文章我们将介绍如何将复杂的JSON对象解析为Java对象,其中Java ...

  8. 使用MySQL正则表达式 __MySQL必知必会

    正则表达式作用是匹配方本,将一个模式(正则表达式)与一个文本串进行比较. MySQL用WHERE子句对正则表达式提供了初步的支持,允许你指定用正则表达式过滤SELECT检索出的数据. MySQL仅支持 ...

  9. vertex buffer 数据结构 如何读vb的memory pool

    vertex attribute (declaration)    vertex stream (memory pool) 这两部分 通过attribute 里面对memory的描述把两部分 vbo ...

  10. 新人补钙系列教程之:AS3 位运算符

    ECMAScript 整数有两种类型,即有符号整数(允许用正数和负数)和无符号整数(只允许用正数).在 ECMAScript 中,所有整数字面量默认都是有符号整数,这意味着什么呢? 有符号整数使用 3 ...