1. 程式人生 > 實用技巧 >呼叫介面的正確方式

呼叫介面的正確方式

京東永珍API為例,呼叫手機好歸屬地。

進入到,手機號歸屬地的api介面測試頁面,先在該頁面測試,成功後,到java中手擼。

上圖看到,已經是可以用的了。

然後建立一個maven專案,需要用到Spring的StreamUtrls工具類,所以匯入一下下面這個依賴,其它什麼都不用,直接開幹。

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

程式碼:

import com.sun.deploy.util.StringUtils;
import org.springframework.util.StreamUtils;

import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
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"}}