HIRO12121212 commited on
Commit
cc8172f
·
verified ·
1 Parent(s): a5eeb00

Update index.js

Browse files
Files changed (1) hide show
  1. index.js +19 -31
index.js CHANGED
@@ -1,50 +1,38 @@
1
  const express = require("express");
2
  const puppeteer = require("puppeteer-core");
3
- const cookies = require("./cookies.json");
4
 
5
  const app = express();
6
- const BROWSERLESS_TOKEN = "2SSAwtJD82odF6zf96a9dc3bf70bf1aeb62f89e673e3ebb5a";
7
-
8
- app.get("/", (req, res) => {
9
- res.send("Visit /scrape-token to get the Bearer token.");
10
- });
11
 
12
  app.get("/scrape-token", async (req, res) => {
13
  try {
14
- const browser = await puppeteer.connect({
15
- browserWSEndpoint: `wss://chrome.browserless.io?token=${BROWSERLESS_TOKEN}`,
 
 
 
16
  });
17
 
18
  const page = await browser.newPage();
19
  await page.setCookie(...cookies);
 
20
 
21
- let bearerToken = null;
22
-
23
- page.on("request", (request) => {
24
- const headers = request.headers();
25
- if (headers.authorization?.startsWith("Bearer")) {
26
- bearerToken = headers.authorization;
27
- }
28
- });
29
-
30
- await page.goto("https://chatglm.cn/video?lang=zh", {
31
- waitUntil: "networkidle2",
32
- });
33
 
34
- await page.waitForTimeout(8000);
35
  await browser.close();
36
 
37
- if (bearerToken) {
38
- res.json({ token: bearerToken });
39
- } else {
40
- res.status(500).json({ error: "Bearer token not found" });
41
- }
42
- } catch (err) {
43
- console.error(err);
44
- res.status(500).json({ error: err.message });
45
  }
46
  });
47
 
48
- app.listen(7860, () => {
49
- console.log("✅ App is running on http://localhost:7860");
50
  });
 
1
  const express = require("express");
2
  const puppeteer = require("puppeteer-core");
3
+ const fs = require("fs");
4
 
5
  const app = express();
6
+ const PORT = process.env.PORT || 7860;
 
 
 
 
7
 
8
  app.get("/scrape-token", async (req, res) => {
9
  try {
10
+ const cookies = JSON.parse(fs.readFileSync("./cookies.json", "utf8"));
11
+ const browser = await puppeteer.launch({
12
+ headless: true,
13
+ executablePath: "/usr/bin/google-chrome", // required on HF Spaces
14
+ args: ["--no-sandbox", "--disable-setuid-sandbox"],
15
  });
16
 
17
  const page = await browser.newPage();
18
  await page.setCookie(...cookies);
19
+ await page.goto("https://chatglm.cn");
20
 
21
+ await page.waitForFunction(() => {
22
+ const token = window.localStorage.getItem("token");
23
+ return token && token.startsWith("Bearer");
24
+ }, { timeout: 10000 });
 
 
 
 
 
 
 
 
25
 
26
+ const token = await page.evaluate(() => window.localStorage.getItem("token"));
27
  await browser.close();
28
 
29
+ res.json({ token });
30
+ } catch (error) {
31
+ console.error(error);
32
+ res.status(500).json({ error: "Failed to extract token" });
 
 
 
 
33
  }
34
  });
35
 
36
+ app.listen(PORT, () => {
37
+ console.log(`Server running on http://localhost:${PORT}`);
38
  });