| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- import axios from "axios";
- import https from "https";
- import { load } from "cheerio";
- import stringHash from "string-hash";
- import fs from "fs";
- const { data: res } = await axios.get(
- "https://accounts.pcid.ca/oauth2/v1/authorize",
- {
- params: {
- client_id: "ed22f54785b74fe688011366a65ed5fb",
- response_type: "code",
- scope: "openid api.loblaw.digitalpco offline_access",
- redirect_uri: "https://pcoptimum.ca/login",
- },
- }
- );
- const $ = load(res);
- const form = {};
- $("form input").each((i, e) => {
- form[$(e).attr("name")] = $(e).attr("value");
- });
- const email = "linxiaojoe@hotmail.com";
- const password = "Andy123456$";
- const hashEmail = (email = "") => {
- const [username, domain] = email.split("@");
- return `${stringHash(username)}@${domain}`;
- };
- try {
- const httpsAgent = new https.Agent({
- rejectUnauthorized: false,
- host: "192.168.50.202",
- port: 9090,
- });
- const data = {
- email,
- password,
- loginCtx: form.loginCtx,
- rememberMe: false,
- sso: false,
- mandatory2fa: true,
- trustToken: null,
- deviceDetails:
- '{"currentTime":"Sun Mar 10 2024 02:51:27 GMT+0800 (中国标准时间)","screenWidth":390,"screenHeight":844,"screenColorDepth":24,"screenPixelDepth":24,"windowPixelRatio":3,"language":"zh-CN","userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 16_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1","cookieEnabled":true,"mimeTypes":0,"plugins":0,"timeZone":-480}',
- hashedEmail: hashEmail(email),
- encodedEmail: btoa(email),
- };
- console.log(JSON.stringify(data, null, 4));
- const { data: loginData } = await axios.post(
- "https://accounts.pcid.ca/login",
- data
- );
- console.log(loginData);
- } catch (error) {
- console.log(error.message);
- }
|