| const express = require("express"); | |
| const { chromium } = require("playwright"); | |
| const app = express(); | |
| app.get("/", async (req, res) => { | |
| const { url, type } = req.query; | |
| if (!url) { | |
| return res.status(400).send('URL is required'); | |
| } | |
| const browser = await chromium.launch(); | |
| const context = await browser.newContext({ | |
| viewport: type === 'mobile' ? { width: 375, height: 812 } : { width: 1280, height: 720 } | |
| }); | |
| const page = await context.newPage(); | |
| await page.goto(url); | |
| const buffer = await page.screenshot(); | |
| await browser.close(); | |
| res.setHeader('Content-Type', 'image/png'); | |
| res.send(buffer); | |
| }); | |
| app.listen(7860) |