-
大小: 8.84MB文件類型: .rar金幣: 2下載: 0 次發(fā)布日期: 2023-10-23
- 語言: Java
- 標(biāo)簽: 源代碼??開發(fā)實(shí)例??jos??宙斯??
資源簡(jiǎn)介
通用接口實(shí)現(xiàn)類LinkJOS
擴(kuò)展于:public class LinkJOS extends LinkOAuth2(LinkOAuth2 extends JspEasy)
構(gòu)造函數(shù)
LinkJOS(HttpServletRequest request,HttpServletResponse response)
京東JOS接口訪問函數(shù)
public String link2(String link,String method,Bag sys,Bag apps,String appSecret,String file,String FileField)
作用:訪問京東JOS平臺(tái)的所有接口
參數(shù):
String link,京東JOS平臺(tái)接口訪問地址,目前固定為:https://api.jd.com/routerjson
String method,向京東JOS平臺(tái)提交數(shù)據(jù)時(shí)的方法,需要應(yīng)用級(jí)別參數(shù)時(shí)建議用POST方法,不需要時(shí)用GET(參見后邊的實(shí)例)
Bag sys,系統(tǒng)級(jí)別參數(shù)書包(一般只需在接口參數(shù)文件中放入接口方法即可,參見后邊的實(shí)例)
Bag apps,應(yīng)用級(jí)別參數(shù)書包(在接口參數(shù)文件中放入必須的應(yīng)用級(jí)別參數(shù),若不需要應(yīng)用級(jí)別參數(shù)時(shí)直接用new Bag(-1)構(gòu)造一個(gè)空書包即可,參見后邊的實(shí)例)
String appSecret,應(yīng)用證書中的App Secret,前邊已經(jīng)設(shè)置,固定用"@{pPage:app_secret}"即可
String file,調(diào)用上傳文件接口上傳文件(如圖片)到京東JOS平臺(tái)時(shí)的文件全名(含相對(duì)路徑,如:images/logo.png),不是調(diào)用上傳文件接口時(shí)為空字符串即可(參見后邊的實(shí)例)
String FileField,調(diào)用上傳文件接口上傳文件(如圖片)到京東JOS平臺(tái)時(shí)的字段名,配合前邊的參數(shù),不是調(diào)用上傳文件接口時(shí)為空字符串即可(參見后邊的實(shí)例)
返回為京東JOS平臺(tái)接口對(duì)應(yīng)的JSON格式的字符串
JSON文本解析方法
public void parseJson(String json)
作用:解析京東JOS平臺(tái)接口返回的JSON格式的字符串,并根據(jù)內(nèi)容生成N個(gè)對(duì)應(yīng)的書包
參數(shù):String json,京東JOS平臺(tái)接口返回的JSON格式的字符串
根據(jù)JSON文本的內(nèi)容在系統(tǒng)中生成N個(gè)書包,根書包名稱為j0,下一層的josn文本內(nèi)容生成的書包名稱用上一層的Key放在上一層的書名中,下邊用實(shí)例說明尋找對(duì)應(yīng)書包的方法:
如店鋪信息查詢接口jingdong.vender.shop.query返回的json文本為
{
"jingdong_vender_shop_query_responce": {
"shop_jos_result": {
"open_time": "",
"shop_id": "",
"category_main_name": "",
"category_main": "",
"vender_id": "",
"brief": "",
"logo_url": "",
"shop_name": ""
}
}
}
找出店鋪信息書包名的方法如下
@{j0:jingdong_vender_shop_query_responce}
@{@{pPage:bag}:shop_jos_result}
這時(shí)候的@{pPage:bag}即為需要的店鋪信息書包名
具體用法請(qǐng)閱讀下載包中的《京東賣家如何快速開發(fā)網(wǎng)店工具軟件》

代碼片段和文件信息
package?htok.apps;
import?htok.Path;
import?htok.tools.*;
import?htok.we.html.*;
import?htok.we.*;
import?javax.servlet.http.*;
import?javax.servlet.*;
import?java.net.*;
import?java.security.*;
import?java.security.cert.*;
import?javax.crypto.*;
import?javax.crypto.spec.*;
import?java.io.*;
import?java.util.*;
import?javax.net.ssl.*;
import?com.alibaba.fastjson.*;
public?class?linkJOS?extends?linkOAuth2
{
//構(gòu)造對(duì)象
public?linkJOS(HttpServletRequest?requestHttpServletResponse?response)
{
super(requestresponse);
}
private?String?cookie?=?““;
private?String?user_agent=“Mozilla/4.0?(compatible;?MSIE?6.0;?Windows?NT?5.2;?SV1;?.NET?CLR?1.1.4322)“;
public?String?link2(String?linkString?methodBag?sysBag?appsString?appSecretString?fileString?FileField)
{
//京東調(diào)用地址:https://api.jd.com/routerjson
int?protocol?=?0;
if(link.startsWith(“https“))protocol=1;
if(sys==null)?sys?=?new?Bag(-1);
if(apps==null)?apps?=?new?Bag(-1);
//參數(shù)和鏈接字符串
StringBuffer?qs?=?new?StringBuffer();
StringBuffer?ps?=?new?StringBuffer();
StringBuffer?sb;
if(apps.getWidth()>0)
{
sb?=?new?StringBuffer(“{“);
for(int?i=0;i {
String?name?=?apps.getKey(i);
if(i>0)?sb.append(““);
sb.append(“\““).append(name).append(“\“:\““).append(apps.get(name)).append(“\““);
/*if(method.equalsIgnoreCase(“POST“)?&&?file.equals(““))
{
if(ps.length()>0)?ps.append(“&“);
ps.append(encode(name)).append(“=“).append(encode(apps.get(name)));
}*/
}
sb.append(“}“);
sys.set(“__360buy_param_json“sb.toString());
if(method.equalsIgnoreCase(“POST“))
ps.append(sb);
}
sb?=?new?StringBuffer(appSecret);
for(int?i=0;i {
String?name?=?sys.getKey(i);
String?_name?=?name;
if(name.startsWith(“__“))?_name?=?name.substring(2);
sb.append(_name).append(sys.get(name));
if(method.equalsIgnoreCase(“POST“)?&&?“__360buy_param_json“.equals(name))
continue;
if(qs.length()>0)?qs.append(“&“);
//if(“__360buy_param_json“.equals(name))
// qs.append(_name).append(“=“).append(sys.get(name));
//else
qs.append(encode(_name)).append(“=“).append(encode(sys.get(name)));
}
String?sign?=?sign(sb.append(appSecret).toString());
qs.append(“&sign=“).append(sign.toUpperCase());
sb?=?new?StringBuffer(link).append(“?“).append(qs);
link?=?sb.toString();
try{//訪問
InputStream?input?=?null;
if(protocol==0)
{
URL?url?=?new?URL(link);
HttpURLConnection?connection?=?(HttpURLConnection)url.openConnection();
connection.setConnectTimeout(5000);
connection.setReadTimeout(5000);
connection.setUseCaches(false);
connection.setRequestProperty(“Charsert“?“UTF-8“);
if(method.equals(“POST“)?||?!file.equals(““))
{
connection.setRequestMethod(“POST“);
connection.setRequestProperty(“Connection“?“Keep-Alive“);
connection.setRequestProperty(“Content-Type“
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
????.C.D...?????????0??2015-11-20?18:01??jos
????.C.D...?????????0??2015-11-20?17:17??jos\ba
????.C.D...?????????0??2015-11-20?17:17??jos\ba
????.CA....??????3913??2009-03-25?09:34??jos\ba
????.CA....???????172??2008-10-17?09:59??jos\ba
????.CA....??????2748??2007-08-03?18:18??jos\ba
????.CA....??????1029??2009-03-25?09:36??jos\ba
????.CA....???????999??2009-03-25?09:34??jos\ba
????.CA....???????872??2008-10-17?08:57??jos\ba
????.CA....??????1651??2007-08-03?18:18??jos\ba
????.C.D...?????????0??2015-11-20?17:17??jos\ba
????.CA....??????3814??2008-10-19?18:23??jos\ba
????.CA....??????4061??2008-11-04?11:42??jos\ba
????.CA....??????5144??2008-10-22?09:45??jos\ba
????.CA....??????4665??2008-10-19?18:23??jos\ba
????.CA....???????613??2008-10-22?09:30??jos\ba
????.CA....??????3817??2008-10-19?18:23??jos\ba
????.CA....??????3882??2008-10-19?18:23??jos\ba
????.CA....??????6100??2008-09-27?21:09??jos\ba
????.CA....??????4681??2008-12-27?11:58??jos\ba
????.CA....??????4270??2009-02-25?17:41??jos\ba
????.CA....??????3847??2009-03-20?17:11??jos\ba
????.CA....???????532??2008-07-01?23:31??jos\ba
????.CA....????307200??2015-05-01?01:03??jos\ba
????.C.D...?????????0??2015-11-20?17:17??jos\ba
????.CA....??????4929??2005-03-20?20:16??jos\ba
????.CA....???????480??2009-08-21?15:00??jos\ba
????.CA....??????1687??2005-03-23?22:22??jos\ba
????.CA....???????799??2008-07-14?23:03??jos\ba
????.CA....???????665??2010-08-19?18:12??jos\ba
............此處省略947個(gè)文件信息
評(píng)論
共有 條評(píng)論