导入java.io.BufferedReader;导入java.io.InputStream;导入java.io.InputStreamReader;导入java.net.HttpURLConnection;导入java.net.URL;导入java.util.Iterator;importjava.util.Date;importjava.security.MessageDigest;importjava.security.NoSuchAlgorithmException;importjava.util.Locale;//在线接口文档:https://www.feijing88.com/doc/esportpublicclassESportDemo{//定义请求数据API接口参数privatestaticfinalStringaccessKey="JibasdasdQW3t4ancdsaEh6upUlIcboZ8Euq";//【替换为自己的访问密钥】privatestaticfinalStringsecretKey="cbfWCLgzzxcxaEmSqvckFoO676UHDsekey】privatestaticfinalStringbaseUrl="esportsapi.feijing88.com";//【替换为请求对应数据的api接口地址]privatestaticStringpath="/data-service/dota/league/list?offset=0&limit=10";//api路径例如:/data-service/lol/raw/heroprivatestaticStringapiTime=System.currentTimeMillis();//api请求时间戳publicstaticvoidmain(String[]args){//初始化请求接口参数apiTime=getNowTime();字符串url=baseUrl+路径;//调用电竞数据API接口获取格式为JSON字符串Stringcharset="UTF-8";StringjsonResult=get(url,字符集);//打印请求结果System.out.println(jsonResult);}/***@paramurl:请求接口*@paramcharset:字符编码*@return返回jsonString*/publicstaticStringget(Stringurl,Stringcharset){BufferedReaderreader=null;字符串结果=空;StringBuffersbf=newStringBuffer();StringuserAgent="Mozilla/5.0(WindowsNT6.1)AppleWebKit/537.36(KHTML,likeGecko)Chrome/29.0.1547.66Safari/537.36";尝试{URLnewUrl=新URL(url);HttpURLConnection连接=(HttpURLConnection)newUrl.openConnection();connection.setRequestMethod("GET");connection.setReadTimeout(30000);connection.setConnectTimeout(30000);connection.setRequestProperty("用户代理",userAgent);//设置请求头connection.setRequestProperty("Content-Type","application/json;charset=utf-8");connection.setRequestProperty("Accept-ApiAccess",accessKey);connection.setRequestProperty("Accept-ClientTime",apiTime);connection.setRequestProperty("Accept-ApiSign",getSign());系统.out.println(getSign());InputStream=connection.getInputStream();reader=newBufferedReader(newInputStreamReader(is,charset));StringstrRead=null;while((strRead=reader.readLine())!=null){sbf.append(strRead);sbf.append("\r\n");reader.close();result=sbf.toString();}}catch(异常e){e.printStackTrace();}finally{try{if(reader!=null){reader.close();}}catch(Exceptione){e.printStackTrace();}}returnresult;}/***获取当前系统的时间戳*/privatestaticStringgetNowTime(){returnnewDate().getTime()+"";}/***获取Api加密签名算法:md5(secretKey|nowTime()|path)**@returnApiSign*/私人静态斯特林ggetSign(){//拼接请求加密签名StringBuffertempStr=newStringBuffer("");tempStr.append(secretKey);tempStr.append("|");tempStr.append(apiTime);tempStr.append("|");tempStr.append(路径);返回加密(tempStr.toString());/***md5加密,可以换成自己的*@paramplainTextplaintext*@return32位密文(大写)*/privatestaticStringencryption(StringplainText){StringresultMd5=newString();尝试{MessageDigestmd=MessageDigest.getInstance("MD5");md.update(plainText.getBytes());字节b[]=md。消化();诠释我;StringBufferbuf=newStringBuffer("");for(intoffset=0;offset
