From 589112ba1800b4f3739c7f085d20ddd68b0b1a10 Mon Sep 17 00:00:00 2001 From: YFdyh000 Date: Mon, 20 Nov 2023 16:16:49 +0800 Subject: [PATCH] =?UTF-8?q?fix(CNKI.js):=20=E7=BA=A0=E6=AD=A3POST=E8=A1=A8?= =?UTF-8?q?=E5=8D=95=E6=95=B0=E6=8D=AE=EF=BC=8C=E8=A7=A3=E5=86=B3=E6=B5=8F?= =?UTF-8?q?=E8=A7=88=E5=99=A8=E4=B8=AD=E6=8A=93=E5=8F=96=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CNKI.js | 30 ++++++++++++------------------ 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/CNKI.js b/CNKI.js index ead5f03b..3cd70c3e 100644 --- a/CNKI.js +++ b/CNKI.js @@ -9,7 +9,7 @@ "inRepository": true, "translatorType": 4, "browserSupport": "gcsibv", - "lastUpdated": "2023-11-19 13:57:30" + "lastUpdated": "2023-11-20 08:06:00" } /* @@ -38,28 +38,22 @@ async function getRefWorksByID(id) { var { dbname, filename, url } = id; const postData = `FileName=${dbname}!${filename}!1!0&DisplayMode=Refworks&OrderParam=0&OrderType=desc&SelectField=&PageIndex=1&PageSize=20&language=&uniplatform=NZKPT&random=0.30585230060685187`; const refer = `https://kns.cnki.net/dm/manage/export.html?filename=${dbname}!${filename}!1!0&displaymode=NEW&uniplatform=NZKPT`; - let reftext = await requestText( - 'https://kns.cnki.net/dm/api/ShowExport', + let reftext = await request( + 'https://kns.cnki.net/dm/api/ShowExport', { method: "POST", body: postData, + responseType: "application/x-www-form-urlencoded", headers: { - "Content-Type": "application/x-www-form-urlencoded", - "Host": "kns.cnki.net", - "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/119.0", - "Accept": "text/plain, */*; q=0.01", - "Accept-Language": "zh-CN,en-US;q=0.7,en;q=0.3", - "Accept-Encoding": "gzip, deflate, br", - "X-Requested-With": "XMLHttpRequest", - "Content-Length": postData.length, - "Origin": "https://kns.cnki.net", - "Connection": "keep-alive", - "Referer": refer, - "Sec-Fetch-Dest": "empty", - "Sec-Fetch-Mode": "cors", - "Sec-Fetch-Site": "same-origin" + "Referer": refer } - }); + } + ); + if (reftext.status == 200) { + reftext = reftext.body + } else { + reftext = "CNKI.js: getRefWorksByID Error." + } return reftext .replace("", "")