Test code:
const credential = new Credential();
await credential.init("eyJhbGciOiJIUzI1NiIsInR5c...");
const leetcode = new LeetCodeCN(credential);
const user = await leetcode.user("guanpengchn");
console.log(user);
Response:
throw new Error(`HTTP ${res.status} ${res.statusText}: ${await res.text()}`);
^
Error: HTTP 403 Forbidden: Just a moment...*{box-sizing:border-box;margin:0;padding:0}html{line-height:1.15;-webkit-text-size-adjust:100%;color:#313131;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}body{display:flex;flex-direction:column;height:100vh;min-height:100vh}.main-content{margin:8rem auto;padding-left:1.5rem;max-width:60rem}@media (width <= 720px){.main-content{margin-top:4rem}}#challenge-error-text{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI0IyMEYwMyIgZD0iTTE2IDNhMTMgMTMgMCAxIDAgMTMgMTNBMTMuMDE1IDEzLjAxNSAwIDAgMCAxNiAzbTAgMjRhMTEgMTEgMCAxIDEgMTEtMTEgMTEuMDEgMTEuMDEgMCAwIDEtMTEgMTEiLz48cGF0aCBmaWxsPSIjQjIwRjAzIiBkPSJNMTcuMDM4IDE4LjYxNUgxNC44N0wxNC41NjMgOS41aDIuNzgzem0tMS4wODQgMS40MjdxLjY2IDAgMS4wNTcuMzg4LjQwNy4zODkuNDA3Ljk5NCAwIC41OTYtLjQwNy45ODQtLjM5Ny4zOS0xLjA1Ny4zODktLjY1IDAtMS4wNTYtLjM4OS0uMzk4LS4zODktLjM5OC0uOTg0IDAtLjU5Ny4zOTgtLjk4NS40MDYtLjM5NyAxLjA1Ni0uMzk3Ii8+PC9zdmc+");background-repeat:no-repeat;background-size:contain;padding-left:34px}
Enable JavaScript and cookies to continue
(function(){window._cf_chl_opt = {cFPWv: 'g',cH: '9FajQWr7c_Hw31nz5d0pc1WFCuG6tLGDFMFPK9zWdxk-1777648321-1.2.1.1-3UtC7xmc2WejO3FeWGW28Vslugn4SKiIYt0jAYWqJ9pEG_V4UTRYfgWVlpo2_NNo',cITimeS: '1777648321',cN: 'bGHAi6sj1zpODY2GWFcq8w',cRay: '9f4fb8d6edc18f0c',cTplB: '0',cTplC:0,cTplO:0,cTplV:5,cType: 'managed',cUPMDTk:"/graphql/?__cf_chl_tk=xjtIHSukAPmH1H1qhE_IGbxbqJWOtt2POzbcxjQbtDs-1777648321-1.0.1.1-ImmMUmuWV583MTYtQ2vomZuXJPHCdmtCWmsplitWAdc",cvId: '3',cZone: 'leetcode.cn',fa:"/graphql/?__cf_chl_f_tk=xjtIHSukAPmH1H1qhE_IGbxbqJWOtt2POzbcxjQbtDs-1777648321-1.0.1.1-ImmMUmuWV583MTYtQ2vomZuXJPHCdmtCWmsplitWAdc",md: 'MW7rC7drmyWJGS1ULIpPEY4b_JODO02dGVNTrMQIKZw-1777648321-1.2.1.1-WknkrjoUgI5cG.7y4Y7qMuob_C26JjN9mlaiF.aBaF1YeHWhwiFE1SJn4a_vDGOPw7wYkeGkfNBk87T_hFiO8HIGGDehWMKmSJmx1lhH52IafVGJs9PJ.7YPqAJpkheNd6EM4LSLYy1KKjRurMYCu.4lcjvEwKDWfeXPts.8wgZLpRH6CGTi0knNo0lyfYsWnvuuFohA0ODe2BxFgHht5ZCrD7BJhhRKtvyg6ycoHslC0K69_g1sbU_b5y7xoCjTNSrH.hz5Y3O_YrSHu_qFeNmAMzOA6tYqI828dtaYKBC0ZAdrXkTme256emG20b6OKpsKUwn4w0OSS2WLuIk6KpXey_Yo9EKa1k9xpfoprvD4LtIobbU5yp_8fc5mCHVK_.fW7_4bVW4Qr4iWSNfaMCRtVpsxOAojfuE9ePwLsZVvkz3vNGjKKoWt8l2c3FcXBz_XQ3Y9L1tIC8SkbKu1LeHUnusc77aZsQQV0j.vHYQpq3Z287VrJt5Y1kPAdDLvbxB.I4btCh0AKQ1aHk4ATUA8bwW2dWvmmjhNKmdTB_ro5HhPb9T8BGji8d1wZGwNPeiGKxTV8iDcO5b.YYqfxxmirjUY1aTxwvPa4XiZH_fekc_Zj2tQFUfEj60JPS0Z2OMfjedVWqVKJJ4x6Lpy.iEqZSgOoyMY06q.6zCG3ik9sk0BJ5pvueCRoN_X684cRIrrOUsLFDBD1alR_8blvWG_hYJKVQmlcCLquRUJw13.2LMrmt1JrGTj8x8rgk6BVnIgJiUk7odsvVtwhF2HR4u3AbkScsBWXYP34vv6c6kR6ivBgNOEWvhBHIS8UKWBf4j_2BGMFKhv5DGPYPB4Zuy9Wfah18VvxjSs.O00.KnusJL2xTw9Pt7S8yV5QzvK2Pxy9qqjex8t5aBJI5BWKgqOk_kevcif7r6zIOO_I8jL1Bu5VYkQ_YzUk9vt9h_bMJnBMgNOaOW6m7WD435r7w',mdrd: '7Z14eCtK7oDQ1nqKX_6JWCxnSFhyddxpud93nbssGN4-1777648321-1.2.1.1-l2yTaxRUH_ZjyD2_W8iv0RAjWpDu3CfiWN1v1DjuRj4WOSwb4qHDRhXgQjoEP1evB2GTK9l9bV1PNFHT5asOtTf64F7JMb1Je7_Fgho6sTpNmheenQI6QnRhncJSdY2jHxY.jCXMPX7taE2xYIrYMaFqVItgqg6c3BqWlryZ0qIYtUMdB1fYZn8utml69mhP1Fl4OcvpVp.52k6rACZQFBOjzGsNL7ucg3Mqqv3GvD9PX7fU8Y72qm_6HR10WTkG698bb39Aviazo8PZ35Nf5dnPYFWNdl70mJraEm2Q3l3XhSytK3JwP3acIeFojqTmhl7xCBZcoXqDL6GVO_zeEKkO2CbnTPVJysRseORRwRty4RL4fA4GnhPkQMm01JokgheAqHoWwGaDhmdre6hOGeZLMGGMKeZaYvjBQ2yDTz2wS_z4FosoByAn4fwa1UXHl7yFDxLyjDirrw9LWwnQs_JTswznIfm3W00jUyuqXVNJcnj_TeH4GmkJipvYHyIpQzJF0biRHUGvm3E2OeK2U_OoHfe01C8V21cQI6sVDT0vzB8NtT1bi2O8paGfupoFFfTfNmu1xkZONxnDtQ.3na8NlGz1kE3vcYEQ_ZnaaT8WizAYXmQxGQB3w_zx1FeYPPqH6s4475pngfxkgfqP3T3sjptYstYUhVR6ugSoTFfAcMOQ3FKwBP6KFghfnY0cRLOCXYU9gnhxIZB_spDs_jQfL8Vdq0AG5jlktW514zikr5ZqxLze4XoUqBLdtyLI8jyu_X14GKxHof.0Smc.CefKgV8ktoJquhM8pbOifim52pDBcncvaJMyQEMvHI8YoVB0wBh0PKx3j_j7qU9xn05Rv0VBIaZB.6Ks0F1NAA3mcPn4cJWbVMC.jCWfQgqidp9KIruNViNAvMTbQFEE.VC6T3BXuVtiJkh1XUTE8H8n9zPXDrvG0yLOR2D8w1fPHHIoUgefpYsbHtfAPHAY4tw1D1KbKpn3WHDpAPBnfLxTeNlkrVmkerzwT1VCVXioK0_fmf8LXSCJFH3kyTwbDF4x14o78I.EirRRNu7PGPunbGqxfjsW2M7zY7f6LdreMn1lMWbaQvVV2t00Bpyniw389J01vBdtExApUdkpT1P8tOEFJrassaKrku0dT3bm4S6kwkH9HyR8eZWFhJtOucQPi9RWPHtJtahc.skb2r0iwX7CW_sy1CjCu6liKCqjHLzxApusXf0Bsv6YZH19eOyK8GOu.zbLUMG6WFVkDv5iViT0lNGhNCvx7kwB.lBtdtRgrVaaeLyb.Rcd54vQxyQmx0XPUYTjzKWUAtHIRM4',};var a = document.createElement('script');a.nonce = 'bGHAi6sj1zpODY2GWFcq8w';a.src = '/cdn-cgi/challenge-platform/h/g/orchestrate/chl_page/v1?ray=9f4fb8d6edc18f0c';window._cf_chl_opt.cOgUHash = location.hash === '' && location.href.indexOf('#') !== -1 ? '#' : location.hash;window._cf_chl_opt.cOgUQuery = location.search === '' && location.href.slice(0, location.href.length - window._cf_chl_opt.cOgUHash.length).indexOf('?') !== -1 ? '?' : location.search;if (window.history && window.history.replaceState) {var ogU = location.pathname + window._cf_chl_opt.cOgUQuery + window._cf_chl_opt.cOgUHash;history.replaceState(null, null,"/graphql/?__cf_chl_rt_tk=xjtIHSukAPmH1H1qhE_IGbxbqJWOtt2POzbcxjQbtDs-1777648321-1.0.1.1-ImmMUmuWV583MTYtQ2vomZuXJPHCdmtCWmsplitWAdc"+ window._cf_chl_opt.cOgUHash);a.onload = function() {history.replaceState(null, null, ogU);}}document.getElementsByTagName('head')[0].appendChild(a);}());
at LeetCodeCN.graphql (file:///home/jjean/node_modules/leetcode-query/lib/index.js:893:15)
at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
at async LeetCodeCN.user (file:///home/jjean/node_modules/leetcode-query/lib/index.js:665:22)
at async hello (file:///home/jjean/workspace/plla/diceserver/nodejs/frontend/bin/functions.mjs:935:18)
Bắt đầu tại LeetCodeCN.graphql trong node_modules/leetcode-query/lib/index.js:893 và lần theo lệnh gọi đến LeetCodeCN.user ở dòng 665. Tái hiện ví dụ LeetCodeCN.user được cung cấp và kiểm tra phản hồi HTTP 403 từ leetcode.cn/graphql. Được xem là hoàn tất khi truy vấn người dùng không còn thất bại do sự chặn Cloudflare đã được báo cáo, và hành vi đã được xác minh qua ví dụ này.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.