开发者社区> 问答> 正文

别人给你一个接口地址该如何调用?

请问一下如何调用别人的接口,别人给了一个接口地址给你,该怎么用呢?

以下是java代码,使用httpclient和这个差不多

* <pre> 
     * 指定该URL返回数据的编码方式
      * </pre>
      *
      * @param url
      * @param charaterset
      *            :指定编码格式
      * @return 
      */
     public String getDataCharaterSet(String url, String charaterset) {
         String resData = null;
         StringBuffer s = new StringBuffer();
         BufferedReader bReader = null;
         try {
             URL urlWeb = new URL(url);
             URLConnection connection = urlWeb.openConnection();
             bReader = new BufferedReader(new InputStreamReader(
                     connection.getInputStream(), charaterset));
             while (null != (resData = bReader.readLine())) {
                 s.append(resData);
             }
             bReader.close();
         } catch (MalformedURLException e) {
             logger.error("", e);
         } catch (IOException e) {
             logger.error("", e);
         }
         return s.toString();
     }

展开
收起
爵霸 2016-05-31 08:54:39 7420 0
1 条回答
写回答
取消 提交回答
  • public static String sendPost(String url, String param) {
             PrintWriter out = null;
             BufferedReader in = null;
             String result = "";
             try {
                 URL realUrl = new URL(url);
                 // 打开和URL之间的连接
                 URLConnection conn = realUrl.openConnection();
                 // 设置通用的请求属性
                 conn.setRequestProperty("accept", "*/*");
                 conn.setRequestProperty("connection", "Keep-Alive");
                 conn.setRequestProperty("user-agent",
                         "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
                 // 发送POST请求必须设置如下两行
                 conn.setDoOutput(true);
                 conn.setDoInput(true);
                 // 获取URLConnection对象对应的输出流
                 out = new PrintWriter(conn.getOutputStream());
                 // 发送请求参数
                 out.print(param);
                 // flush输出流的缓冲
                 out.flush();
                 // 定义BufferedReader输入流来读取URL的响应
                 in = new BufferedReader(
                         new InputStreamReader(conn.getInputStream()));
                 String line;
                 while ((line = in.readLine()) != null) {
                     result += line;
                 }
             } catch (Exception e) {
                 System.out.println("发送 POST 请求出现异常!" + e);
                 e.printStackTrace();
             }
             // 使用finally块来关闭输出流、输入流
             finally {
                 try {
                     if (out != null) {
                         out.close();
                     }
                     if (in != null) {
                         in.close();
                     }
                 } catch (IOException ex) {
                     ex.printStackTrace();
                 }
             }
             return result;
    
        } 
    public static String sendGet(String url, String param) {
             String result = "";
             BufferedReader in = null;
             try {
                 String urlNameString = url + "?" + param;
                 URL realUrl = new URL(urlNameString);
                 // 打开和URL之间的连接
                 URLConnection connection = realUrl.openConnection();
                 // 设置通用的请求属性
                 connection.setRequestProperty("accept", "*/*");
                 connection.setRequestProperty("connection", "Keep-Alive");
                 connection.setRequestProperty("user-agent",
                         "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
                 // 建立实际的连接
                 connection.connect();
                 // 获取所有响应头字段
                 Map<String, List<String>> map = connection.getHeaderFields();
                 // 遍历所有的响应头字段
                 for (String key : map.keySet()) {
                     System.out.println(key + "--->" + map.get(key));
                 }
                 // 定义 BufferedReader输入流来读取URL的响应
                 in = new BufferedReader(new InputStreamReader(
                         connection.getInputStream()));
                 String line;
                 while ((line = in.readLine()) != null) {
                     result += line;
                 }
             } catch (Exception e) {
                 System.out.println("发送GET请求出现异常!" + e);
                 e.printStackTrace();
             }
             // 使用finally块来关闭输入流
             finally {
                 try {
                     if (in != null) {
                         in.close();
                     }
                 } catch (Exception e2) {
                     e2.printStackTrace();
                 }
             }
             return result;
         } 
    2019-07-17 19:21:13
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
建立联系方法之一 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载