获得一台1h2g的云服务器(半永久)(可自定义开通1-65535全端口)磁盘4g

首先说清楚,这个服务器只是一个可以进行1-65535端口映射的nat服务器,并不能绑定域名啥的,最好用来搭建游戏服务器,socket连接正常,映射的端口通过固定的域名访问,但仍然是80端口,相当于伪端口映射,自带的是这样的伪端口映射,如果真的是要进行正常的端口访问(比如游戏服务器),其实可以用上内网穿透的,不过对于一些测试场景,其实不用考虑这些,比如用来做一些后台api就相当适合

原理:

腾讯云CODING 项目下的 Cloud Studio 能开通免费的 1h2g工作空间(相当于一个免费的Ubuntu服务器),缺点在于不能保持工作空间一直运行,即离开ide后间隔一段时间会自动关闭工作空间,虽然ide中能对工作空间进行设置,配置为永不休眠,但实际上关闭ide页面后过一段时间也会关闭工作空间,所以我想出的办法是,在工作空间的Ubuntu环境中搭建Playwright(网页自动化工具),在工作空间里面自带的服务器终端上访问该工作空间对应的ide页面(只要一直打开ide页面,工作空间是不会主动关闭的)

Cloud Studio:https://ide.cloud.tencent.com/

Cloud Studio介绍:

Cloud Studio是腾讯云发布的一站式云端开发工具

它支持开发者利用Web IDE(集成开发环境),实现远程协作开发和应用部署。

Cloud Studio提供的功能有代码自动补全、代码纠错、代码AI评审、单元测试生成等,可以帮助开发者提高编码效率和质量。

Playwright介绍:

Python Playwright 是 Playwright 的 Python 绑定,它允许 Python 开发者使用 Playwright 提供的 API 来自动化和控制无头浏览器(如 Chromium, Firefox, 和 WebKit)以及 Electron 应用。Playwright 是一个无头浏览器测试库,可以用于网页自动化、爬虫、UI 测试等场景。

使用 Python Playwright,你可以:

  1. 打开和关闭浏览器。
  2. 导航到不同的网页。
  3. 与网页进行交互,如点击按钮、填写表单等。
  4. 读取和修改网页内容。
  5. 捕获网页截图或 PDF。
  6. 执行复杂的网络请求和响应操作。
  7. 对网页进行性能测试和用户体验分析。

Python Playwright 是 Playwright 项目的一部分,该项目还提供了 JavaScript 和 TypeScript 的绑定。由于 Playwright 是基于 Chromium, Firefox, 和 WebKit 的,因此它支持现代 web 标准,并且可以很好地处理现代 web 应用。

操作:

一、创建一个Ubuntu环境的空项目工作空间(一定得选免费版1C2G,其他配置都需要消耗免费时长(每月3000分钟))如图

二、创建完成后进入工作空间

如图所示,注意终端一栏(这一栏相当于命令行窗口,这里面能执行linux命令)

三、将清华源添加到ubuntu镜像源

在资源管理器窗口右键,将“etc/apt”文件夹添加到工作区

Ubuntu清华源:https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/

复制以下框中内容,添加到“etc/apt/sources.list”文件里面,保存文件

四、

更新apt

apt-get update

安装Playwright

pip install playwright

初始化Playwright,安装chrome内核(全部内核对应为chromium, chrome, chrome-beta, msedge, msedge-beta, msedge-dev, firefox, firefox-asan, webkit)

playwright install chromium

如果出现以下错误

就改输入

playwright install

直接输入“playwright install”会默认安装(chrome,fixfox等)四个浏览器的内核,只要看到chromium下载好就行了,剩下的不用管,按Ctrl+C可以中止指令

接下来输入

playwright install-deps

安装浏览器相关依赖

下载login.py,将login.py上传到工作区(workspace文件夹下)

终端运行

python /workspace/login.py

会提示缺少以下依赖

输入以下代码,安装缺少依赖

apt-get install -y libatk1.0-0
apt-get install -y libatk-bridge2.0-0
apt-get install -y libcups2
apt-get install -y libxkbcommon0
apt-get install -y libatspi2.0-0
apt-get install -y libxcomposite1
apt-get install -y libgbm1

再次输入

python /workspace/login.py

看到以下内容说明一切正常运行,在登录前后会打印网页的标题来判断是否成功登录,提示QQ账号安全登录说明正在腾讯云QQ登录界面

 

修改url,复制当前工作空间网址到url变量里面,url变量的值即为当前工作空间网址

如果出现500,将上面的“tty”改成“ws”,这里不演示了

例如

 

再次运行

python /workspace/login.py

等待资源管理器workspace出现yzm.png(二维码图片),需要在提示扫码登录的30s内使用QQ扫码登录

前提是需要在腾讯云使用QQ登录的账号(登录Cloud Studio的时候是使用的腾讯云的号,腾讯云记得绑定QQ),因为我的账号是使用QQ登录的,所以就只写了QQ登录的脚本,如果有需要可以自行使用Playwright写其他登录的脚本

登录成功后理论上会出现以下文字

看到___(工作区)就可以不用管了

接下来你就可以新建终端,在新终端干自己的事情了

到目前为止我已经测试了一整个下午了,服务器仍然没掉,一直在线

第一次成功登录后会产生“login_data.json”文件,这里面保存有cookie数据,下次重新运行脚本就不用扫码登录了,直接就能访问工作空间

记得把工作空间状态设置为永不休眠

五、如何开启端口映射,以及获取映射后的网址

将“chromedriver”文件拖入资源管理器“workspace”

运行

chmod +x /workspace/chromedriver
 /workspace/chromedriver

打开端口界面,点击这个

9515即为该程序的端口,外网链接除了端口号剩下的都是固定的,比如我想访问12345端口,直接将9515修改为12345就行

获取到该链接以后就可以杀掉chromedriver进程了,我们的目的只是为了获取该链接

在终端按Ctrl+C退出程序

 

目前24h正常运行坚持了3天断了

等我写一个每隔一天重新登录(清除缓存)的脚本

2024-2-19/22:50 又g了,坚持了48h,cookie最多只能存在48h,等我再研究一下

相关文件:https://files.cnblogs.com/files/blogs/697472/login-2024-2-15.zip

修改后:https://files.cnblogs.com/files/blogs/697472/login-2024-2-18.zip

posted @ 2024-02-15 20:18  秋落Akise  阅读(230)  评论(0)    收藏  举报