资源简介

通用接口实现类LinkJOS 扩展于:public class LinkJOS extends LinkOAuth2(LinkOAuth2 extends JspEasy) 构造函数 LinkJOS(HttpServletRequest request,HttpServletResponse response) 京东JOS接口访问函数 public String link2(String link,String method,Bag sys,Bag apps,String appSecret,String file,String FileField) 作用:访问京东JOS平台的所有接口 参数: String link,京东JOS平台接口访问地址,目前固定为:https://api.jd.com/routerjson String method,向京东JOS平台提交数据时的方法,需要应用级别参数时建议用POST方法,不需要时用GET(参见后边的实例) Bag sys,系统级别参数书包(一般只需在接口参数文件中放入接口方法即可,参见后边的实例) Bag apps,应用级别参数书包(在接口参数文件中放入必须的应用级别参数,若不需要应用级别参数时直接用new Bag(-1)构造一个空书包即可,参见后边的实例) String appSecret,应用证书中的App Secret,前边已经设置,固定用"@{pPage:app_secret}"即可 String file,调用上传文件接口上传文件(如图片)到京东JOS平台时的文件全名(含相对路径,如:images/logo.png),不是调用上传文件接口时为空字符串即可(参见后边的实例) String FileField,调用上传文件接口上传文件(如图片)到京东JOS平台时的字段名,配合前边的参数,不是调用上传文件接口时为空字符串即可(参见后边的实例) 返回为京东JOS平台接口对应的JSON格式的字符串 JSON文本解析方法 public void parseJson(String json) 作用:解析京东JOS平台接口返回的JSON格式的字符串,并根据内容生成N个对应的书包 参数:String json,京东JOS平台接口返回的JSON格式的字符串 根据JSON文本的内容在系统中生成N个书包,根书包名称为j0,下一层的josn文本内容生成的书包名称用上一层的Key放在上一层的书名中,下边用实例说明寻找对应书包的方法: 如店铺信息查询接口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} 这时候的@{pPage:bag}即为需要的店铺信息书包名 具体用法请阅读下载包中的《京东卖家如何快速开发网店工具软件》

资源截图

代码片段和文件信息

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
{
//构造对象
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)
{
//京东调用地址: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);
//参数和链接字符串
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“

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

    .C.D...         0  2015-11-20 18:01  jos

    .C.D...         0  2015-11-20 17:17  jos\base

    .C.D...         0  2015-11-20 17:17  jos\base\ac

    .CA....      3913  2009-03-25 09:34  jos\base\ac\authorization.html

    .CA....       172  2008-10-17 09:59  jos\base\ac\authorization.xml

    .CA....      2748  2007-08-03 18:18  jos\base\ac\authorizationAdd.html

    .CA....      1029  2009-03-25 09:36  jos\base\ac\authorizationDel.chtml

    .CA....       999  2009-03-25 09:34  jos\base\ac\authorizationSaveEdit.chtml

    .CA....       872  2008-10-17 08:57  jos\base\ac\checkAcl.htm

    .CA....      1651  2007-08-03 18:18  jos\base\ac\select_acl.html

    .C.D...         0  2015-11-20 17:17  jos\base\access

    .CA....      3814  2008-10-19 18:23  jos\base\access\ask.html

    .CA....      4061  2008-11-04 11:42  jos\base\access\ask_1.html

    .CA....      5144  2008-10-22 09:45  jos\base\access\comment.html

    .CA....      4665  2008-10-19 18:23  jos\base\access\comment_1.html

    .CA....       613  2008-10-22 09:30  jos\base\access\comment_del.chtml

    .CA....      3817  2008-10-19 18:23  jos\base\access\favorite.html

    .CA....      3882  2008-10-19 18:23  jos\base\access\favorite_1.html

    .CA....      6100  2008-09-27 21:09  jos\base\access\menu.html

    .CA....      4681  2008-12-27 11:58  jos\base\access\menu_eb.html

    .CA....      4270  2009-02-25 17:41  jos\base\access\orders.html

    .CA....      3847  2009-03-20 17:11  jos\base\access\products.html

    .CA....       532  2008-07-01 23:31  jos\base\acl.xml

    .CA....    307200  2015-05-01 01:03  jos\base\base.mdb

    .C.D...         0  2015-11-20 17:17  jos\base\css

    .CA....      4929  2005-03-20 20:16  jos\base\css\css.css

    .CA....       480  2009-08-21 15:00  jos\base\css\current.xml

    .CA....      1687  2005-03-23 22:22  jos\base\css\home.css

    .CA....       799  2008-07-14 23:03  jos\base\css\keep.htm

    .CA....       665  2010-08-19 18:12  jos\base\css\keep.rar

............此处省略947个文件信息

评论

共有 条评论