Linux下Oracle11g调用http接口和json解析步骤
目录
Oracle 用户增加java sources 的http工具类
Oracle 用户增加java sources 的json解析工具类
-
授权及导入第三方jar
#su - oracle #cd $ORALE_HOME/bin
$loadjava -r -f -o -user oracle_userName/password@sid json-org.jar
$dropjava -r -f -o -user oracle_userName/password@sid json-org.jar
$sqlplus / as sysdb $exec dbms_java.grant_permission( '数据库用户名', 'SYS:java.net.SocketPermission', 'IP:PORT-需要调用的http接口的IP及端口', 'connect,resolve' ); $ commit;
|
-
Oracle 用户增加java sources 的http工具类
create or replace and compile java source named httputils as import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.URL; import java.net.HttpURLConnection; import java.util.*; import java.net.URLEncoder;
public class httpUtils { /** urlPath:请求地址 paramsJson:请求参数 json字符串格式 **/ public static String sendRequestPostJson(String urlPath, String paramsJson) throws Exception{ //发送post请求代码开始 BufferedReader in = null; String result = ""; try { URL realUrl = new URL(urlPath); // 打开和URL之间的连接 HttpURLConnection conn = (HttpURLConnection)realUrl.openConnection(); // 设置通用的请求属性 conn.setRequestProperty("accept", "application/json, text/javascript, */*; q=0.01"); conn.setRequestProperty("Accept-Encoding", "gzip, deflate"); conn.setRequestProperty("Connection", "keep-alive"); conn.setRequestProperty("Accept-Language", "zh-CN,zh;q=0.8"); conn.setRequestProperty("Content-Type", "application/json"); conn.setRequestProperty("Charset", "UTF-8"); // 发送POST请求必须设置如下两行 conn.setRequestMethod("POST"); conn.setDoOutput(true); conn.setDoInput(true); conn.setUseCaches(false); // 往服务器里面发送数据 if (paramsJson != null) { byte[] writebytes = paramsJson.getBytes("utf-8"); // 设置文件长度 conn.setRequestProperty("Content-Length", String.valueOf(writebytes.length)); OutputStream outwritestream = conn.getOutputStream(); outwritestream.write(writebytes); outwritestream.flush(); outwritestream.close(); } if (conn.getResponseCode() == 200) { in |