精华内容
下载资源
问答
  • java源码:调用远程API规范 XINS.zip
  • Java 远程调用有道api接口实例

    万次阅读 2017-03-20 16:29:26
    今天抽出时间给大家分享下java访问api接口的案例,api接口就是应用程序编程接口,由别人提供的接口我们去调用,在接口中别人写了一些方法我们需要调用。 有很多访问api接口的方法,这里我分享的是commons-...

    今天抽出时间给大家分享下java访问api接口的案例,api接口就是应用程序编程接口,由别人提供的接口我们去调用,在接口中别人写了一些方法我们需要调用。

    有很多访问api接口的方法,这里我分享的是commons-httpclient这个包里的方法。在这里我就做了一个访问有道词典api的接口。

    首先需要导入commons-httpclient包,手动或maven项目自行百度就有,有道词典api接口需要申请后才可以。在这里我已申请就不演示了。

    @RequestMapping("ydapi.xhtml")
    	public @ResponseBody String ydapi(HttpServletRequest req) throws UnsupportedEncodingException{
    		//翻译的内容用encoder编译
    		String str=URLEncoder.encode("How old are you");
    		//接受反回的Json
    		String boty="";
    		//传参的类
    		List<NameValuePair> pair=new ArrayList<NameValuePair>();
    		//有道翻译api接口,需要自己申请生成key
    		String url = "http://fanyi.youdao.com/openapi.do?keyfrom=youdianbao&key=1661829537&type=data&doctype=json&version=1.1&q="+str;
    		//实例化defaultHttpClient
    		DefaultHttpClient hc=new DefaultHttpClient();
    		try {
    			//实例化post方式访问并且把路径放入
    			HttpPost httppost=new HttpPost(url);
    			//把需要的参数传入
    			httppost.setEntity(new UrlEncodedFormEntity(pair,HTTP.UTF_8));
    			//执行访问返回resp
    			HttpResponse resp=hc.execute(httppost);
    			//获取访问的结果
    			HttpEntity entity=resp.getEntity();
    			//把返回的结果转成字符串
    			boty=EntityUtils.toString(entity);
    			
    		} catch (Exception e) {
    			// TODO: handle exception
    			e.printStackTrace();
    		}//运行完后执行
    		finally {
    			hc.getConnectionManager().shutdown();
    		}
    		return boty;
    	}
    注意事项:

    A、上图url路径有道申请成功后会有,如需调用别的api接口可更改。

    B、我这里包的版本是3.1,版本不用有些用法不同。

    展开全文
  • Java实现Web Api接口远程调用

    万次阅读 2017-12-04 13:43:18
    package com.watering.as.web.utils; import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.URL; import java.net.URLConnection; import java.util.HashMap; import java.ut
    package com.watering.as.web.utils;
    

    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.net.URL;
    import java.net.URLConnection;
    import java.util.HashMap;
    import java.util.Map;
    import net.sf.json.JSONObject;

    public class WebApiReturnJson {

        public static void main(String[] args) throws Exception {  
            
     
            //定义变量属性 后期可采用动态获取
            String dataCode = "NAFP_NWFD_SCMOC";
            String time = "201711231000";
            double minLon = 116.21;
            double maxLon = 116.45;
            double minLat = 41.17;
            double maxLat = 41.33;
            String fcstLevel = "-";
            String fcstEle = "ERH";
            int validTime = 12;
            
             //外接口URL路径拼接
            String urlStr = "http://api.data.cma.cn:8090/api"
                    + "?userId=Jlkj_jlkj_user"
                    + "&pwd=123456"
                    + "&interfaceId=getNafpEleGridInRectByTimeAndLevelAndValidtime"
                    + "&dataCode=" + dataCode
                    + "&time=" + time
                    + "&minLon=" + minLon
                    + "&maxLon=" + maxLon
                    + "&minLat=" + minLat
                    + "&maxLat=" + maxLat
                    + "&fcstLevel=" + fcstLevel
                    + "&fcstEle=" + fcstEle
                    + "&validTime=" + validTime
                    + "&dataFormat=json".replace(" ","");
             //链接URL  
            URL url=new URL(urlStr);  
            //返回结果集  
            StringBuffer document = new StringBuffer();  
             //创建链接  
            URLConnection conn = url.openConnection();  
            //读取返回结果集  
            BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream(),"utf-8"));  
            String line = null;  
            while ((line = reader.readLine()) != null){  
                  document.append(line);  
            }     
                reader.close();  
     
            JSONObject json =JSONObject.fromObject(document.toString()); 

          

            //获取json中某个对象  

            String str =(String)json.get("requestParams");
            System.out.println(str);
            
            //由于requestParams包含全部str字符串数据,现将str转Map
            String[] strs = str.split("&");
            Map<String, String> m = new HashMap<String, String>();
            for(String s:strs){
            String[] ms = s.split("=");
            m.put(ms[0], ms[1]);
            }
            System.out.println(m.get("minlon"));
            
            //获取json串中具体值  后期可根据key随意调取存入数据库
            String obj = (String)json.get("requestTime");  
            System.out.println(obj);
            
        }  
    }


    Web Api 接口调用大同小异 , 各位看客可参考此类 , 希望对各位有帮助

    如有更好的建议 , 请与我联系

    本人邮箱 : kevinddw@126.com

    展开全文
  • 前段时间做了一些关于微信方面的开发,在项目中写了个调用微信接口的工具类,当然此工具不只是用来调用微信API,也可调用类似微信API的所有接口,多的不说,直接上代码: import java.net.URI; import java.util....
    前段时间做了一些关于微信方面的开发,在项目中写了个调用微信接口的工具类,当然此工具不只是用来调用微信API,也可调用类似微信API的所有接口,多的不说,直接上代码:
    Maven依赖:
    
    		<dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>4.5.6</version>
            </dependency>
    
    import java.net.URI;
    import java.util.List;
    import java.util.Map;
    import java.util.stream.Collectors;
    
    import com.google.common.collect.Lists;
    import lombok.extern.slf4j.Slf4j;
    import org.apache.http.Consts;
    import org.apache.http.HttpStatus;
    import org.apache.http.client.config.RequestConfig;
    import org.apache.http.client.entity.UrlEncodedFormEntity;
    import org.apache.http.client.methods.CloseableHttpResponse;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.client.methods.HttpUriRequest;
    import org.apache.http.client.protocol.HttpClientContext;
    import org.apache.http.entity.ContentType;
    import org.apache.http.entity.StringEntity;
    import org.apache.http.impl.client.CloseableHttpClient;
    import org.apache.http.impl.client.HttpClients;
    import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
    import org.apache.http.message.BasicNameValuePair;
    import org.apache.http.util.EntityUtils;
    
    @Slf4j
    public class HttpUtils {
    
        //http连接池
        private static volatile PoolingHttpClientConnectionManager poolingHttpClientConnectionManager;
    
        //请求配置
        private static RequestConfig requestConfig;
    
        //请求超时时间
        private final static Integer TIME_OUT = 1000;
    
        public static PoolingHttpClientConnectionManager getPoolingHttpClientConnectionManager() {
            if (poolingHttpClientConnectionManager == null) {
                synchronized (HttpUtils.class) {
                    if (poolingHttpClientConnectionManager == null) {
                        poolingHttpClientConnectionManager = new PoolingHttpClientConnectionManager();
                        //连接池最大连接数
                        poolingHttpClientConnectionManager.setMaxTotal(1024);
                        //每个路由最大连接数
                        poolingHttpClientConnectionManager.setDefaultMaxPerRoute(32);
    
                        //配置请求的超时设置
                        requestConfig =
                                RequestConfig.custom().setConnectionRequestTimeout(TIME_OUT).setConnectTimeout(TIME_OUT).setSocketTimeout(TIME_OUT).build();
                    }
                }
            }
            return poolingHttpClientConnectionManager;
        }
    
        public static CloseableHttpClient getHttpClient() {
            return HttpClients.custom().setConnectionManager(getPoolingHttpClientConnectionManager()).setDefaultRequestConfig(requestConfig).build();
        }
    
        /**
         * 请求发送执行
         *
         * @param httpMethd
         * @return
         */
        public static String registRequest(HttpUriRequest httpMethd) {
            CloseableHttpClient httpClient = getHttpClient();
            try (CloseableHttpResponse httpResponse = httpClient.execute(httpMethd, HttpClientContext.create())) {
                int statusCode = httpResponse.getStatusLine().getStatusCode();
                if (httpResponse.getStatusLine().getStatusCode() != HttpStatus.SC_OK) {
                    log.error("响应失败 statusCode {}", statusCode);
                    httpMethd.abort();
                }
                log.debug("响应成功 statusCode {}", statusCode);
                String response = EntityUtils.toString(httpResponse.getEntity(), Consts.UTF_8);
                log.debug("响应成功 response {}", response);
                return response;
            } catch (Exception e) {
                throw new RuntimeException("请求失败", e);
            }
        }
    
        public static List<BasicNameValuePair> toPairs(Map<String, Object> params) {
            List<BasicNameValuePair> pairs = Lists.newArrayList();
            if (params != null && !params.isEmpty()) {
                pairs = params.entrySet().stream().map(entry -> new BasicNameValuePair(entry.getKey(),
                        entry.getValue().toString())).collect(Collectors.toList());
            }
            return pairs;
        }
    
        /**
         * get url请求
         *
         * @param url
         * @param params
         * @return
         */
        public static String get(String url, Map<String, Object> params) {
            HttpGet request = new HttpGet();
            try {
                String paramsStr = EntityUtils.toString(new UrlEncodedFormEntity(toPairs(params), Consts.UTF_8));
                request.setURI(new URI(url.concat("?").concat(paramsStr)));
                return registRequest(request);
            } catch (Exception e) {
                log.error("请求失败", e);
            }
            return null;
        }
    
        /**
         * PSOT URL方式提交
         *
         * @param url    请求url
         * @param params 请求参数
         * @return
         */
        public static String postFromUrl(String url, Map<String, Object> params) {
            HttpPost request = new HttpPost(url);
            request.setEntity(new UrlEncodedFormEntity(toPairs(params), Consts.UTF_8));
            try {
                return registRequest(request);
            } catch (Exception e) {
                log.error("请求失败", e);
            }
            return null;
        }
    
        /**
         * PSOT JSON方式提交
         *
         * @param url    请求url
         * @param params json串
         * @return
         */
        public static String postFromJson(String url, String params) {
            HttpPost request = new HttpPost(url);
            request.setHeader("Content-type", "application/json");
            request.setEntity(new StringEntity(params, ContentType.APPLICATION_JSON));
            try {
                return registRequest(request);
            } catch (Exception e) {
                log.error("请求失败", e);
            }
            return null;
        }
    }
    
    

    更多文章:
    CSDN博客
    简书博客
    公众号:代码小搬运
    代码小搬运.jpg

    展开全文
  • Java实现Web Api接口远程调用文章标题

    千次阅读 2017-12-20 16:51:33
    import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.URL; import java.net.URLConnection; import java.util.HashMap; import java.util.Map; import net.sf.json.JSONObject...
    import java.io.BufferedReader; 
    import java.io.InputStreamReader; 
    import java.net.URL; 
    import java.net.URLConnection; 
    import java.util.HashMap; 
    import java.util.Map; 
    import net.sf.json.JSONObject;
    
    public class WebApiReturnJson {
        public static void main(String[] args) throws Exception {  
    
            //定义变量属性 后期可采用动态获取
            String dataCode = "NAFP_NWFD_SCMOC";
            String time = "201711231000";
            double minLon = 116.21;
            double maxLon = 116.45;
            double minLat = 41.17;
            double maxLat = 41.33;
            String fcstLevel = "-";
            String fcstEle = "ERH";
            int validTime = 12;
    
            //外接口URL路径拼接
            String urlStr = "http://api.data.cma.cn:8090/api"
                    + "?userId=Jlkj_jlkj_user"
                    + "&pwd=123456"
                    + "&interfaceId=getNafpEleGridInRectByTimeAndLevelAndValidtime"
                    + "&dataCode=" + dataCode
                    + "&time=" + time
                    + "&minLon=" + minLon
                    + "&maxLon=" + maxLon
                    + "&minLat=" + minLat
                    + "&maxLat=" + maxLat
                    + "&fcstLevel=" + fcstLevel
                    + "&fcstEle=" + fcstEle
                    + "&validTime=" + validTime
                    + "&dataFormat=json".replace(" ","");
            //链接URL  
            URL url=new URL(urlStr);  
            //返回结果集  
            StringBuffer document = new StringBuffer();  
            //创建链接  
            URLConnection conn = url.openConnection();  
            //读取返回结果集  
            BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream(),"utf-8"));  
            String line = null;  
            while ((line = reader.readLine()) != null){  
                  document.append(line);  
            }     
                reader.close();  
    
            JSONObject json =JSONObject.fromObject(document.toString()); 
    
    
    
            //获取json中某个对象  
            String str =(String)json.get("requestParams");
            System.out.println(str);
    
            //由于requestParams包含全部str字符串数据,现将str转Map
            String[] strs = str.split("&");
            Map<String, String> m = new HashMap<String, String>();
            for(String s:strs){
            String[] ms = s.split("=");
            m.put(ms[0], ms[1]);
            }
            System.out.println(m.get("minlon"));
    
            //获取json串中具体值  后期可根据key随意调取存入数据库
            String obj = (String)json.get("requestTime");  
            System.out.println(obj);
    
        }  
    }

    Api 接口调用大同小异 , 希望对各位有帮助

    如有更好的建议 , 请留言,或者

    本人邮箱 : kevinddw@126.com

    展开全文
  • /** * javay访问rest API工具类 * * @author zhaohailong * */ public class HttpRestUtil { /** * java调用运程api公共方法 * * @param requestUrl * @param params * @return */ @SuppressWarnings...
  • 第一步:引入相关的包 ...遇到的问题在调用build的时候一定要确保jenkins的全局配置文件的这个地方要正确: 该地址为jenkins的访问地址;否则执行build的时候会无法链接Jenkins  参考链接: ...
  • 三种方式实现java远程调用(rmi) 方式一:原始方式 方式二:spring 方式三:jndi 解压,放到myeclipse上可用
  • Java调用client-java k8s Java调用api

    千次阅读 2020-07-31 15:02:39
    本篇主要介绍如何使用java程序远程调用k8s的api 一、查看k8s中开放的地址和获取token 1、查看访问地址和端口 kubectl config view | grep server | cut -f 2- -d ":" | tr -d " " 2、查看所有用户 kubectl -n kube-...
  • 最近为了做自动化发布系统,其中流程就是java调用Jenkins的远程api实现Jenkins的build功能。 Jenkins版本这篇文章是基于Jenkins(2.19.4)版本。使用到的Jenkins API用来获取crumb,如下,...
  • 远程调用智游推送api所需的jar包,个人使用之后的感觉还不错,主要是,简单,so easy,这是zypush-post-1.2.2.jar
  • JAVA调用远程接口

    千次阅读 2019-12-30 16:11:36
    JAVA调用远程接口 介绍一下JAVA调用远程接口获取数据。一般业务中主要用到的就是get和post的方式。其他的方式,以后用到了,再补充。 啰嗦一下get和post方式不同点.如果只说使用功能,那么下面几句话就够了,如果要...
  • 为了便于C#访问远程WebApi,特定义此函数。 函数签名:string InvokeWebApiPost(string url, string param, int timeout = 3000) 参数列表: url 需要访问的连接,如 ...
  • 调用远程API接口,获取服务器数据

    千次阅读 2017-05-14 19:14:58
    官方API使用了CloseableHttpClient来替代DefaultHttpClient。 使用方法如下 //生成代表客户端的httpClient对象 CloseableHttpClient httpclient = HttpClients.createDefault(); //生成代表请求的...
  • java实现调用http请求的几种常见方式

    万次阅读 多人点赞 2019-05-25 02:23:36
    一、概述 在实际开发过程中,我们经常需要调用对方提供的...在Java项目中调用第三方接口的方式有: 1、通过JDK网络类Java.net.HttpURLConnection; 2、通过common封装好的HttpClient; 3、通过Apache封装好的Clos...
  • java 调用win32 api 学习总结

    万次阅读 2016-03-18 09:06:48
    java使用JInvoke调用windows API 使用jinvoke调用windowsAPI。jna使用比较麻烦,需要写c代码和参数转换,jinvoke的使用就像jdk中的包一样。  官网使用参考:...
  • 通过Hutool 调用远程API接口(POST/GET)

    千次阅读 2019-01-12 01:00:00
    背景:需要调用第三方接口,开启某项任务,用Hutool代替了HttpClient 调用第三方接口,简单粗暴。 代码如下: 1 import java.util.Date; 2 import org.apache.commons.lang.time.DateFormatUtils; 3 ...
  • 使用java的HttpClient调用远程接口

    千次阅读 2018-04-01 00:45:35
    httpClient比jdk自带的URLConection更加易用和方便,这里介绍一下使用httpClient来调用远程接口。首先导入相关的依赖包:&lt;!-- httpClient --&gt; &lt;dependency&gt; &lt;groupId&...
  • Java RMI远程方法调用详解

    万次阅读 多人点赞 2016-07-22 17:45:43
    远程方法调用RMI(Remote Method Invocation),是允许运行在一个Java虚拟机的对象调用运行在另一个Java虚拟机上的对象的方法。...它使客户机上运行的程序可以调用远程服务器上的对象。远程方法调用特性使
  • java远程调用JPush极光推送api

    万次阅读 热门讨论 2012-11-02 11:32:21
    调用JPush推送的api,官网上已经有很详细的说明了。这里主要描述一下我在调用过程中遇到的问题, 比如 我的HttpClient不支持https的请求、 参数配置错误 和 验证错误 等等。 开发的时候需要引用appache的包commons-...
  • Java 调用Restful API接口的几种方式

    万次阅读 2018-12-05 16:44:20
    背景:在开发中常常会遇到调用别人提供的Restful API接口、获取写一个程序去测试Restful API接口的需求,java调用Restful API接口的方式不同于前端Ajax调用,能够实现的方式有很多,这里选用最常用的一种HttpClient...
  • 通过调用kettle的API接口,实现将一个库的数据转移到另一个数据库中。附件中同时提供了抽取需要的jar包
  • java远程调用kettle说明与代码
  • 写这篇文章的背景是公司Android客户端需要实现一个功能,实现类似于密码找回或者用户注册完发送一个邮件给...远程调用使用的是Java Mail的API。 首先我们需要把James这个邮件服务器跑起来,官网下载地址:http://jam
  • 摘要:最近有一个需求,为客户提供一些Restful API 接口,QA使用postman进行测试,但是postman的测试接口与java调用的相似但并不相同,于是想自己写一个程序去测试Restful API接口,由于使用的是HTTPS,所以还要考虑...
  • Java调用百度OCR文字识别API实现图片文字识别软件

    千次阅读 多人点赞 2019-01-06 13:35:59
    Java调用百度OCR文字识别API实现图片文字识别软件 这是一款小巧方便,强大的文字识别软件,由Java编写,配上了窗口界面 调用了百度ocr文字识别API 识别精度高。 打包生成了jar可执行程序 完整项目GitHub地址 ...
  • Java调用Restful API接口几种方式

    千次阅读 2018-01-16 22:18:40
    摘要:最近有一个需求,为客户提供一些Restful API 接口,QA使用postman进行测试,但是postman的测试接口与java调用的相似但并不相同,于是想自己写一个程序去测试Restful API接口,由于使用的是HTTPS,所以还要考虑...
  • 后端远程调用api工具

    千次阅读 2016-04-01 15:00:56
    在后端我们会经常调用别人的后端Api这里提供一个和httpclient相似的后端访问Api,更加简POST或GET调用别人的API package com.yiyong.util; import com.yiyong.contants.UrlContants; import ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 114,940
精华内容 45,976
关键字:

java实现调用远程api

java 订阅