參數:java
public class APIConstants { //設置APPID/AK/SK public static final String APP_ID = "108***"; public static final String API_KEY = "fWC*****"; public static final String SECRET_KEY = "CP3***"; public static final String TOKEN = "24.7f7d825858b9f66819e48f6ab212a8a7.2592000.1522835019.*********"; }
HttpUtil:app
import java.util.List; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.util.Map; public class HttpUtil { public static String post(String requestUrl, String accessToken, String params) throws Exception { String contentType = "application/x-www-form-urlencoded"; System.err.println("post(String requestUrl, String accessToken, String params)"); return HttpUtil.post(requestUrl, accessToken, contentType, params); } public static String post(String requestUrl, String accessToken, String contentType, String params) throws Exception { String encoding = "UTF-8"; if (requestUrl.contains("nlp")) { encoding = "GBK"; } System.err.println("post(String requestUrl, String accessToken, String contentType, String params)"); return HttpUtil.post(requestUrl, accessToken, contentType, params, encoding); } public static String post(String requestUrl, String accessToken, String contentType, String params, String encoding) throws Exception { String url = requestUrl + "?access_token=" + accessToken; System.err.println("post(String requestUrl, String accessToken, String contentType, String params, String encoding)"); return HttpUtil.postGeneralUrl(url, contentType, params, encoding); } public static String postGeneralUrl(String generalUrl, String contentType, String params, String encoding) throws Exception { System.err.println("postGeneralUrl(String generalUrl, String contentType, String params, String encoding)"); URL url = new URL(generalUrl); // 打開和URL之間的鏈接 HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("POST"); // 設置通用的請求屬性 connection.setRequestProperty("Content-Type", contentType); connection.setRequestProperty("Connection", "Keep-Alive"); connection.setUseCaches(false); connection.setDoOutput(true); connection.setDoInput(true); // 獲得請求的輸出流對象 DataOutputStream out = new DataOutputStream(connection.getOutputStream()); out.write(params.getBytes(encoding)); out.flush(); out.close(); // 創建實際的鏈接 connection.connect(); // 獲取全部響應頭字段 Map<String, List<String>> headers = connection.getHeaderFields(); // 遍歷全部的響應頭字段 for (String key : headers.keySet()) { System.err.println(key + "--->" + headers.get(key)); } // 定義 BufferedReader輸入流來讀取URL的響應 BufferedReader in = null; in = new BufferedReader( new InputStreamReader(connection.getInputStream(), encoding)); String result = ""; String getLine; while ((getLine = in.readLine()) != null) { result += getLine; } in.close(); System.err.println("result:" + result); return result; } }
測試:post
public class Test { public static void main(String[] args) throws Exception { String url = "https://aip.baidubce.com/rpc/2.0/nlp/v1/sentiment_classify"; String params = "{\n" +
" \"text\": \"蘋果是一家偉大的公司\" \n" +
"}";
try {
HttpUtil httpUtil = new HttpUtil();
String result = httpUtil.post(url, APIConstants.TOKEN, params); System.out.println(result);
} catch (Exception e) {
e.printStackTrace();
}
}
}
獲取token:測試
import com.huawei.hst.nps.bdAI.APIConstants;; public class AccessToken { public static void main(String[] args) throws Exception {; String access_token_url = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials" + "&client_id="+APIConstants.API_KEY +"&client_secret="+ APIConstants.SECRET_KEY; //HttpResponse response = HttpUtil.post(access_token_url,new HashMap<String, String>(),new HashMap<String, String>()); //System.out.println(EntityUtils.toString(response.getEntity())); } }
資料:url
鏈接1:http://blog.csdn.net/u010651369/article/details/64439090spa
鏈接2:http://blog.csdn.net/zmx729618/article/details/78132942.net
連接3:http://aixiaoshuai.mydoc.io/?t=234826code
連接4:http://ai.baidu.com/tech/nlp/sentiment_classify orm