日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

篮球比赛JAVA代码_Java编程实现NBA赛事接口调用实例代码

發布時間:2023/12/2 java 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 篮球比赛JAVA代码_Java编程实现NBA赛事接口调用实例代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

第一步:找別人提供的接口,比如在這里我選擇的是聚合數據提供的接口

第二步:要申請相應的AppKey方可使用,此參數會作為接口的參數調用。

第三步:調用別人提供的接口方法

代碼如下:

package juheapi.nba;

/**

* Created by Administrator on 2017/11/19/019.

*/

import net.sf.json.JSONObject;

import java.io.*;

import java.net.HttpURLConnection;

import java.net.URL;

import java.net.URLEncoder;

import java.util.HashMap;

import java.util.Map;

/**

*NBA賽事調用示例代碼 - 聚合數據

*在線接口文檔:https://www.juhe.cn/docs/92

**/

public class NBADemo {

public static final String DEF_CHATSET = "UTF-8";

public static final int DEF_CONN_TIMEOUT = 30000;

public static final int DEF_READ_TIMEOUT = 30000;

public static String userAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36";

//配置您申請的KEY

public static final String APPKEY ="b5ca2acdab01c88c99d532cdfb5c3aa2";

//1.NBA常規賽賽程賽果

public static void getRequest1(){

String result =null;

String url ="https://op.juhe.cn/onebox/basketball/nba";

//請求接口地址

Map params = new HashMap();

//請求參數

params.put("key",APPKEY);

//應用APPKEY(應用詳細頁查詢)

params.put("dtype","");

//返回數據的格式,xml或json,默認json

try {

result =net(url, params, "GET");

JSONObject object = JSONObject.fromObject(result);

if(object.getint("error_code")==0){

System.out.println(object.get("result"));

} else{

System.out.println(object.get("error_code")+":"+object.get("reason"));

}

}

catch (Exception e) {

e.printStackTrace();

}

}

//2.球隊賽程賽事查詢

public static void getRequest2(){

String result =null;

String url ="https://op.juhe.cn/onebox/basketball/team";

//請求接口地址

Map params = new HashMap();

//請求參數

params.put("key",APPKEY);

//應用APPKEY(應用詳細頁查詢)

params.put("dtype","");

//返回數據的格式,xml或json,默認json

params.put("team","");

//球隊名稱

try {

result =net(url, params, "GET");

JSONObject object = JSONObject.fromObject(result);

if(object.getint("error_code")==0){

System.out.println(object.get("result"));

} else{

System.out.println(object.get("error_code")+":"+object.get("reason"));

}

}

catch (Exception e) {

e.printStackTrace();

}

}

//3.球隊對戰賽賽程查詢

public static void getRequest3(){

String result =null;

String url ="https://op.juhe.cn/onebox/basketball/combat";

//請求接口地址

Map params = new HashMap();

//請求參數

params.put("key",APPKEY);

//應用APPKEY(應用詳細頁查詢)

params.put("dtype","");

//返回數據的格式,xml或json,默認json

params.put("hteam","勇士");

//主隊球隊名稱

params.put("vteam","76人");

//客隊球隊名稱

try {

result =net(url, params, "GET");

JSONObject object = JSONObject.fromObject(result);

if(object.getint("error_code")==0){

System.out.println(object.get("result"));

} else{

System.out.println(object.get("error_code")+":"+object.get("reason"));

}

}

catch (Exception e) {

e.printStackTrace();

}

}

/**

*

* @param strUrl 請求地址

* @param params 請求參數

* @param method 請求方法

* @return 網絡請求字符串

* @throws Exception

*/

public static String net(String strUrl, Map params,String method) throws Exception {

HttpURLConnection conn = null;

BufferedReader reader = null;

String rs = null;

try {

StringBuffer sb = new StringBuffer();

if(method==null || method.equals("GET")){

strUrl = strUrl+"?"+urlencode(params);

}

URL url = new URL(strUrl);

conn = (HttpURLConnection) url.openConnection();

if(method==null || method.equals("GET")){

conn.setRequestMethod("GET");

} else{

conn.setRequestMethod("POST");

conn.setDoOutput(true);

}

conn.setRequestProperty("User-agent", userAgent);

conn.setUseCaches(false);

conn.setConnectTimeout(DEF_CONN_TIMEOUT);

conn.setReadTimeout(DEF_READ_TIMEOUT);

conn.setInstanceFollowRedirects(false);

conn.connect();

if (params!= null && method.equals("POST")) {

try {

DataOutputStream out = new DataOutputStream(conn.getOutputStream());

out.writeBytes(urlencode(params));

}

catch (Exception e) {

// TODO: handle exception

}

}

InputStream is = conn.getInputStream();

reader = new BufferedReader(new InputStreamReader(is, DEF_CHATSET));

String strRead = null;

while ((strRead = reader.readLine()) != null) {

sb.append(strRead);

}

rs = sb.toString();

}

catch (IOException e) {

e.printStackTrace();

}

finally {

if (reader != null) {

reader.close();

}

if (conn != null) {

conn.disconnect();

}

}

return rs;

}

//將map型轉為請求參數型

public static String urlencode(Mapdata) {

StringBuilder sb = new StringBuilder();

for (Map.Entry i : data.entrySet()) {

try {

sb.append(i.getKey()).append("=").append(URLEncoder.encode(i.getValue()+"","UTF-8")).append("&");

}

catch (UnsupportedEncodingException e) {

e.printStackTrace();

}

}

return sb.toString();

}

}

package juheapi.nba;

/**

* Created by Administrator on 2017/11/19/019.

*/

public class NBADemoTest extends NBADemo{

public static void main(String[] args) {

getRequest3();

}

}

在使用上述代碼時可能會出現異常,一般都是由于jar包不全導致的。

問題一: 拋出 NestableRuntimeException

解決辦法:查看jar包是否完整

包括:commons-beanutils-1.7.0.jar

commons-collections-3.1.jar

commons-lang-2.4.jar (使用過高版本也會報NestableRuntimeException)

commons-logging-1.1.1.jar

ezmorph-1.0.6.jar

json-lib-2.1.jar

log4j.jar

問題二:User-specified log class'org.apache.commons.logging.impl.Log4JLogger' cannot be found or is notuseable.

解決辦法:添加log4j的jar包。

總結

以上就是本文關于Java編程實現NBA賽事接口調用實例代碼的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站:

如有不足之處,歡迎留言指出。

總結

以上是生活随笔為你收集整理的篮球比赛JAVA代码_Java编程实现NBA赛事接口调用实例代码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。