zoukankan      html  css  js  c++  java
  • 调用接口的正确方式

    京东万象API为例,调用手机好归属地。

    进入到,手机号归属地的api接口测试页面,先在该页面测试,成功后,到java中手撸。

    上图看到,已经是可以用的了。

    然后创建一个maven项目,需要用到Spring的StreamUtrls工具类,所以导入一下下面这个依赖,其它什么都不用,直接开干。

    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.3.1</version>
            </dependency>
    </dependencies>
    

    代码:

    import org.springframework.util.StreamUtils;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.nio.charset.Charset;
    
    /**
     * @author langkye
     */
    public class MyHttp {
        public static void main(String[] args) throws Exception {
            //1.定义URL
            URL url = new URL("https://way.jd.com/jisuapi/query4");
            //2.打开链接
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            //3.设置请求类型
            connection.setRequestMethod("POST");
            //4.设置请求参数 | phone=13800138000&appkey=dc2844cb3cd5ff4bf232c037eb23766b
            connection.setDoOutput(true);
            //声明参数
            StringBuilder params = new StringBuilder();
            //查询的手机号
            long phone = 13456755448L;
            //appkey是自己的万象帐号的appkey,测试时,页面会生成,下面是做示例,非真实,不能用
            String appkey = "dc2844c*****";
            //添加参数
            params.append("shouji=")
                    .append(phone)
                    .append("&appkey=")
                    .append(appkey);
            //设置输出流编码格式
            connection.getOutputStream().write(params.toString().getBytes("UTF-8"));
            //5.发起请求
            connection.connect();
            //6.接受数据,使用Spring的工具类将输入流转为字符串,设置编码为UTF-8
            String response = StreamUtils.copyToString(connection.getInputStream(), Charset.forName("UTF-8"));
    
            System.out.println("response = " + response);
    
        }
    }
    

    输出:

    response = {"code":"10000","charge":false,"msg":"查询成功","result":{"status":0,"msg":"ok","result":{"shouji":"13456755448","province":"浙江","city":"杭州","company":"中国移动","areacode":"0571"}}
  • 相关阅读:
    2019版:第七章:(1)Redis 持久化—RDB
    第三章:(2)高可用 之 集群下dubbo负载均衡配置
    2019版:第六章:(1)Redis 事务
    2019版:第七章:(3)Redis 持久化—RDB和AOF
    第二章:(7)Dubbo 配置与SpringBoot整合
    第二章:(6)Dubbo 常用配置之 本地存根
    2019版:第六章:(2)Redis 事务—秒杀案例
    2019版:第七章:(2)Redis 持久化—AOF
    敏捷开发修炼之道读书笔记2
    敏捷开发修炼之道读书笔记1
  • 原文地址:https://www.cnblogs.com/langkyeSir/p/14049317.html
Copyright © 2011-2022 走看看