游客发表

易语言post登录网页

发帖时间:2026-10-17 05:09:28

用易语言写POST登录,易语言p页核心就三步:抓包、录网构造提交数据、易语言p页处理返回的录网Cookie。别想复杂了,易语言p页网页登录本质上就是录网往服务器发一串特定格式的文本,服务器认了,易语言p页就给你个凭证。录网

我拿一个常见的易语言p页论坛登录来举例。打开浏览器开发者工具,录网切到Network面板,易语言p页勾选Preserve log,录网然后正常登录一次。易语言p页找到那个POST请求,录网看它的易语言p页Request URL、Headers里的Content-Type、以及Form Data里的字段。通常会有username、password,可能还有隐藏的token或者验证码字段。把这些原样记下来。

打开易语言,新建一个Windows窗口程序。拖一个按钮,双击进入代码编辑。先定义几个文本型变量:提交地址、提交数据、返回协议头、返回内容。提交地址就是刚才抓到的URL,注意带上http://或https://。

提交数据这里有个坑。很多教程直接写“username=admin&password=123456”,但实际抓包你会发现字段名可能是“user_name”或者“loginname”。别猜,以抓包结果为准。另外如果密码有特殊字符,比如@或&,得用编码_URL编码()处理一下,否则服务器解析会出错。

代码大概长这样:

.版本 2 .子程序 _按钮1_被单击 .局部变量 提交地址, 文本型 .局部变量 提交数据, 文本型 .局部变量 返回协议头, 文本型 .局部变量 返回内容, 文本型 提交地址 = “https://bbs.example.com/member.php?mod=logging&action=login&loginsubmit=yes” 提交数据 = “username=testuser&password=” + 编码_URL编码 (“mypass123”, 真, 真) 返回内容 = 网页_访问 (提交地址, 1, 提交数据, , , , 返回协议头, , , , ) 

网页_访问这个命令来自精易模块,比易语言自带的“ Internet发送请求”好用得多。第三个参数传1表示POST,第四个参数留空是提交Cookie,这里第一次登录不需要。重点是第七个参数“返回协议头”,服务器下发的Set-Cookie就藏在这里面。

拿到返回协议头之后,用文本_取出中间文本()把“Set-Cookie:”和“;”之间的内容抠出来。比如返回头里有“Set-Cookie: sid=abc123; path=/”,那sid=abc123就是后续请求要带的Cookie。把它存到一个全局变量里。

接下来访问需要登录才能看的页面,比如用户中心。调用网页_访问时,把刚才存的Cookie填到第四个参数“提交Cookie”里。如果返回的HTML里包含你的用户名或者“退出”按钮,说明登录状态维持住了。

有个细节值得留意:有些网站会校验Referer。如果直接POST登录地址,服务器可能返回“非法请求”。这时候得在网页_访问的第五个参数“提交协议头”里加上“Referer: https://bbs.example.com/”。协议头格式是每行一个,用换行符分隔。

验证码是另一个麻烦点。如果登录表单里有验证码图片,通常需要先GET验证码图片的URL,把返回的图片字节集显示在图片框里,人工识别后填入编辑框,再连同username、password一起POST。有些网站还会在验证码图片的Cookie里种一个session,这个Cookie必须和后续登录请求的Cookie一致,否则验证码永远对不上。

我见过不少人卡在“提交数据明明一样,浏览器能登录,易语言就是不行”。九成情况是协议头没带全。浏览器发的请求里User-Agent、Accept、Content-Type一个不少,易语言默认的协议头太简陋,服务器一眼就认出来不是正经浏览器。把抓包看到的请求头原样复制到“提交协议头”参数里,问题基本就解决了。

最后提醒一句:别拿这套东西去撞别人的后台。自己写个练手工具,登录自己的账号,或者找那些明确允许API调用的站点。技术本身没好坏,用在哪才是关键。

    热门排行

    友情链接