|
|
const axios = require("axios");
const path = require("path");
const koffi = require("koffi");
const dll = koffi.load(path.join(__dirname, "mtop_sign_x64.dll"));
const dllMtopSign = dll.func("const char* mtop_sign(const char* m_h5_tk, const char* t, const char* app_key, const char* data)");
function jsonTstr(data) {
return JSON.stringify(data);
}
function mtopSign(mH5Tk, t, appKey, data) {
const sign = dllMtopSign(mH5Tk, t, appKey, data);
if (!sign) {
throw new Error("mtop_sign dll call failed");
}
console.log(sign);
return sign;
}
const cookies = {
xlly_s: "1",
cna: "yzG0IpTUyjACAd+gxvQg9/rm",
eleClientId: "aa2bdb6e-f631-52f8-e54d-29794de7ef50",
WMUSS: "MZAWZGMTAwMDM2ODY5OTcwNzEyUHpSS2JPeTFQ",
SWITCH_SHOP: "",
WMSTOKEN: "MZAWZGMTAwMDM2ODY5OTcwNzEyUHpSS2JPeTFQ",
OUTER_AUTH_LOGIN: "MZAWZGMTAwMDM2ODY5OTcwNzEyUHpSS2JPeTFQ%3BMZAWZGMTAwMDM2ODY5OTcwNzEyUHpSS2JPeTFQ",
__ebg_utdid: "ebg-023488c0-eb67-460e-ae75-31b7a5f70f3e-1781351816721",
mtop_partitioned_detect: "1",
_m_h5_tk: "810eb2be421d44e96bdcc16be7f405e7_1781368513549",
_m_h5_tk_enc: "f2d169ccc5d079e32279a76bf9a5ef76",
isg: "BF9f6Y_DSTvYVE0noheEVJUV7rPpxLNmnHKoUfGoRo6TgGwC-ZY_tAiSRhD-GIve",
tfstk: "gmAEltbBfXhezLoDuEfr3VVh4dfKI_uscbA5raYJyzjhtU6kQntMdTYIJh5yyUjHd3gpa7S6fa6ne4Fy_h-4AagdV_lyXGdCAeTB4LS6fpZ5VD-wr3jTO71BadFykUdIJ_gd9eCRZmijG_8pJ_p48oAWTRjGuFqhrwD1s-fJw-ijGj_dsJ5wom9W-7uCbafl-MXusV7luwflE_Yi7aIGq_xlxRbGlZ4hraX3IV7RjgflZ3Yi7asGq_fkqFcxfHK8cZXnR2WQnkNbzEsD-GPugrQFKv8zF8eJ_wWeZNsZR2ON89ScF_cJtBx6rBOdBxefwF924Lxi_W-y-KxlACm0ag9AzUbVijUVjB8y_9p_xJbVTMWDtO4bN16kQC5Bt0ev5FSh319sBD65THJAD9DtX38NA3AFIko1VKT6tO-mf5-RUpxFSsjPQuQGsXAJLu2PKNQNcVuZVC5AoI72uEw8eOXc7igdE8eRKT_NcVlbe8BK_NSj8_f..",
};
const headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36",
Accept: "application/json",
"Content-Type": "application/x-www-form-urlencoded",
"sec-ch-ua-platform": "\"Windows\"",
"sec-ch-ua": "\"Google Chrome\";v=\"149\", \"Chromium\";v=\"149\", \"Not)A;Brand\";v=\"24\"",
"sec-ch-ua-mobile": "?0",
"x-ele-platform": "eb",
"x-ele-eb-token": "MZAWZGMTAwMDM2ODY5OTcwNzEyUHpSS2JPeTFQ;MZAWZGMTAwMDM2ODY5OTcwNzEyUHpSS2JPeTFQ",
dnt: "1",
origin: "https://nr.ele.me",
"sec-fetch-site": "same-site",
"sec-fetch-mode": "cors",
"sec-fetch-dest": "empty",
referer: "https://nr.ele.me/app/eleme-nr-bfe-newretail/common-next",
"accept-language": "zh-CN,zh;q=0.9,en;q=0.8",
priority: "u=1, i",
};
const body = {
draftSource: "job_draft",
draftReason: "complete_info",
pageNum: 2,
pageSize: 10,
sellerId: 1921347920095,
relationId: 127398688,
includeStoreCateName: true,
includeCateName: true,
draftCommodityStatus: [0],
};
body.pageNum = 1;
const dataStr = jsonTstr({ param: jsonTstr(body) });
const mH5Tk = cookies._m_h5_tk;
const t = String(Date.now());
const appKey = "12574478";
const params = {
jsv: "2.7.5",
appKey,
t,
sign: mtopSign(mH5Tk, t, appKey, dataStr),
v: "1.0",
api: "mtop.ele.newretail.draftcommodity.searchDraftCommodity",
type: "originaljson",
dataType: "json",
valueType: "originaljson",
};
function cookieString(obj) {
return Object.entries(obj)
.map(([key, value]) => `${key}=${value}`)
.join("; ");
}
async function main() {
console.log(params);
const resp = await axios.post(
"https://mtop.ele.me/h5/mtop.ele.newretail.draftcommodity.searchdraftcommodity/1.0/",
new URLSearchParams({ data: dataStr }).toString(),
{
params,
headers: {
...headers,
Cookie: cookieString(cookies),
},
},
);
console.log(resp.data);
}
main().catch((err) => {
if (err.response) {
console.error(err.response.status, err.response.data);
return;
}
console.error(err);[Python] 纯文本查看 复制代码 const axios = require("axios");
const path = require("path");
const koffi = require("koffi");
const dll = koffi.load(path.join(__dirname, "mtop_sign_x64.dll"));
const dllMtopSign = dll.func("const char* mtop_sign(const char* m_h5_tk, const char* t, const char* app_key, const char* data)");
function jsonTstr(data) {
return JSON.stringify(data);
}
function mtopSign(mH5Tk, t, appKey, data) {
const sign = dllMtopSign(mH5Tk, t, appKey, data);
if (!sign) {
throw new Error("mtop_sign dll call failed");
}
console.log(sign);
return sign;
}
const cookies = {
xlly_s: "1",
cna: "yzG0IpTUyjACAd+gxvQg9/rm",
eleClientId: "aa2bdb6e-f631-52f8-e54d-29794de7ef50",
WMUSS: "MZAWZGMTAwMDM2ODY5OTcwNzEyUHpSS2JPeTFQ",
SWITCH_SHOP: "",
WMSTOKEN: "MZAWZGMTAwMDM2ODY5OTcwNzEyUHpSS2JPeTFQ",
OUTER_AUTH_LOGIN: "MZAWZGMTAwMDM2ODY5OTcwNzEyUHpSS2JPeTFQ%3BMZAWZGMTAwMDM2ODY5OTcwNzEyUHpSS2JPeTFQ",
__ebg_utdid: "ebg-023488c0-eb67-460e-ae75-31b7a5f70f3e-1781351816721",
mtop_partitioned_detect: "1",
_m_h5_tk: "810eb2be421d44e96bdcc16be7f405e7_1781368513549",
_m_h5_tk_enc: "f2d169ccc5d079e32279a76bf9a5ef76",
isg: "BF9f6Y_DSTvYVE0noheEVJUV7rPpxLNmnHKoUfGoRo6TgGwC-ZY_tAiSRhD-GIve",
tfstk: "gmAEltbBfXhezLoDuEfr3VVh4dfKI_uscbA5raYJyzjhtU6kQntMdTYIJh5yyUjHd3gpa7S6fa6ne4Fy_h-4AagdV_lyXGdCAeTB4LS6fpZ5VD-wr3jTO71BadFykUdIJ_gd9eCRZmijG_8pJ_p48oAWTRjGuFqhrwD1s-fJw-ijGj_dsJ5wom9W-7uCbafl-MXusV7luwflE_Yi7aIGq_xlxRbGlZ4hraX3IV7RjgflZ3Yi7asGq_fkqFcxfHK8cZXnR2WQnkNbzEsD-GPugrQFKv8zF8eJ_wWeZNsZR2ON89ScF_cJtBx6rBOdBxefwF924Lxi_W-y-KxlACm0ag9AzUbVijUVjB8y_9p_xJbVTMWDtO4bN16kQC5Bt0ev5FSh319sBD65THJAD9DtX38NA3AFIko1VKT6tO-mf5-RUpxFSsjPQuQGsXAJLu2PKNQNcVuZVC5AoI72uEw8eOXc7igdE8eRKT_NcVlbe8BK_NSj8_f..",
};
const headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36",
Accept: "application/json",
"Content-Type": "application/x-www-form-urlencoded",
"sec-ch-ua-platform": "\"Windows\"",
"sec-ch-ua": "\"Google Chrome\";v=\"149\", \"Chromium\";v=\"149\", \"Not)A;Brand\";v=\"24\"",
"sec-ch-ua-mobile": "?0",
"x-ele-platform": "eb",
"x-ele-eb-token": "MZAWZGMTAwMDM2ODY5OTcwNzEyUHpSS2JPeTFQ;MZAWZGMTAwMDM2ODY5OTcwNzEyUHpSS2JPeTFQ",
dnt: "1",
origin: "https://nr.ele.me",
"sec-fetch-site": "same-site",
"sec-fetch-mode": "cors",
"sec-fetch-dest": "empty",
referer: "https://nr.ele.me/app/eleme-nr-bfe-newretail/common-next",
"accept-language": "zh-CN,zh;q=0.9,en;q=0.8",
priority: "u=1, i",
};
const body = {
draftSource: "job_draft",
draftReason: "complete_info",
pageNum: 2,
pageSize: 10,
sellerId: 1921347920095,
relationId: 127398688,
includeStoreCateName: true,
includeCateName: true,
draftCommodityStatus: [0],
};
body.pageNum = 1;
const dataStr = jsonTstr({ param: jsonTstr(body) });
const mH5Tk = cookies._m_h5_tk;
const t = String(Date.now());
const appKey = "12574478";
const params = {
jsv: "2.7.5",
appKey,
t,
sign: mtopSign(mH5Tk, t, appKey, dataStr),
v: "1.0",
api: "mtop.ele.newretail.draftcommodity.searchDraftCommodity",
type: "originaljson",
dataType: "json",
valueType: "originaljson",
};
function cookieString(obj) {
return Object.entries(obj)
.map(([key, value]) => `${key}=${value}`)
.join("; ");
}
async function main() {
console.log(params);
const resp = await axios.post(
"https://mtop.ele.me/h5/mtop.ele.newretail.draftcommodity.searchdraftcommodity/1.0/",
new URLSearchParams({ data: dataStr }).toString(),
{
params,
headers: {
...headers,
Cookie: cookieString(cookies),
},
},
);
console.log(resp.data);
}
main().catch((err) => {
if (err.response) {
console.error(err.response.status, err.response.data);
return;
}
console.error(err);
});
}); |
|