api数据接口怎么调用
view plainprint?<?php /* 数据接口调用通用demo sdk * date:2014-07-29 */ #通过数据堂申请dtkey $apikey ='65ffdc93f14d48b0fc52208df6e0a720'; #api编号 $apicode='caipiao'; $rettype='xml'; #提供json和xml两种格式,使用时任选其一 $url =''; #请求的数据接口url $c='dlt'; $params ='&apikey='.$apikey.'&apicode='.$apicode.'&rettype='.$rettype.'&c='.$c; $content = getdata($url.'?'.$params); if($content){ #根据所需读取相应数据 echo $content; } else { echo 'error'; } /* 请求接口,返回json数据 * @url:接口地址 */ function getdata($url) { // 创建一个curl资源 $ch = curl_init(); // 设置url和相应的选项 curl_setopt($ch, curlopt_url, $url); curl_setopt($ch, curlopt_header, 0); curl_setopt($ch, curlopt_returntransfer, true) ; // 获取数据返回 curl_setopt($ch, curlopt_binarytransfer, true) ; // 在启用 curlopt_returntransfer 时候将获取 // 抓取url并把它传递给浏览器 $response = curl_exec($ch); // 关闭curl资源,并且释放系统资源 curl_close($ch); return $response; } ?>以上代码是php的view plainprint?/** * 通过j**a处理时调用api的方法(示例)<br> * * @author datatang * @version 1.0 * @create date 2014/08 */ import j**a.io.bufferedreader; import j**a.io.ioexception; import j**a.io.inputstream; import j**a.io.inputstreamreader; import j**a.net.httpurlconnection; import j**a.net.url; import org.apache.log4j.logger; /** * 使用j**a发送get请求获取数据 * @author datatang * */ public class sdkdemo { static logger log = logger.getlogger(sdkdemo.class); //测试主程序 public static void main(string[] args) { //连接url地址 // 固定地址 (必须项目) string strurl = ""; //dtkey 通过页面申请的api key。(必须项目) string strkey = "xxxxxxxxxxxxxxxxx"; //apicode 各api的代码 (必须项目) string strapicode = "xxxx"; //rettype 需要返回的格式(支持xml及json)(必须项目) string strrettype = "xml"; //各api需要参数(详细参考画面-各api参数不同) string strparam = ""; //例如 strparam = "datatype=ore&startdate=2014-06-30&enddate=2014-06-30"; //访问url地址 string url = strurl + "?apikey=" + strkey + "&apicode=" + strapicode + "&rettype=" + strrettype + "&"+ strparam; try { string res = readbyget(url); system.out.println(res); } catch (ioexception e) { e.printstacktrace(); } } /** * 通过get请求调用url获取结果 * @param inurl 请求url * @throws ioexception * @return string 获取的结果 */ private static string readbyget(string inurl) throws ioexception { stringbuffer **f = new stringbuffer(); string strread = **; //模拟浏览器 string useragent = "mozilla/5.0 (windows nt 6.1) applewebkit/537.36 " + "(khtml, like gecko) chrome/29.0.1547.66 safari/537.36"; //连接url地址 url url = new url(inurl); //根据拼凑的url,打开连接,url.openconnection函数会根据url的类型, //返回不同的urlconnection子类的对象,这里url是一个http,因此实际返回的是httpurlconnection httpurlconnection connection = (httpurlconnection)url.openconnection(); //设置连接访问方法及超时参数 connection.setrequestmethod("get"); connection.setreadtimeout(30000); connection.setconnecttimeout(30000); connection.setrequestproperty("user-agent",useragent); //进行连接,但是实际上get request要在下一句的connection.getinputstream()函数中才会真正发到 服务器 connection.connect(); //取得输入流,并使用reader读取 inputstream ** = connection.getinputstream(); //读取数据编码处理 bufferedreader reader = new bufferedreader(new inputstreamreader( **, "utf-8")); while ((strread = reader.readline()) != **) { **f.append(strread); **f.append("\r\n"); } reader.close(); //断开连接 connection.d**connect(); return **f.tostring(); } } 以上代码是j**a开发,只要更改链接为你想要的数据链接就ok了 20210311