呼叫介面的正確方式
阿新 • • 發佈:2020-11-27
以京東永珍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"}}