atpx4869love 发表于 2021-1-7 15:00

python get请求 模拟登录 获取最新COOKIE

萌新求各位大大出出主意,非相关专业和行业,自学python

网站为:https://www.biaozhun.org/member/index.php

想模拟登陆每次打开软件时时获取最新的cookie,单纯的把cookie写代码我怕时间久了过期了

遇到下面几个问题,请各位聚聚不吝赐教:
1.查了很多资料,大多数都是post提交表单,提交账密,这个登录网页貌似是get请求,F12也没有查到表单,很头疼,不知道从何下手

2.登录还需要验证码,有相关的方法能够登录跳过或者识别验证码吗

非常感谢~

Mybing 发表于 2021-1-7 15:21

<form name='form1' method='POST' action='index_do.php'> 这个不是表单吗验证码可以用tesseract 读取 他的验证码没有噪点 很好获取的

hefen 发表于 2021-1-7 15:28

本帖最后由 hefen 于 2021-1-7 15:47 编辑

闲着也是闲着 哈哈 反正简单
import requests
import base64
import json


headers1 = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}
headers2 = {
    "Content-Type": "application/x-www-form-urlencoded",
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
}

def base64_api(uname, pwd,img):#验证码识别接口
    b64 = str(base64.b64encode(img), encoding='utf-8')
    data = {"username": uname, "password": pwd, "image": b64}
    result = json.loads(requests.post("http://api.ttshitu.com/base64", json=data).text)
    if result['success']:
      return result["data"]["result"]
    else:
      return result["message"]

def login():
    img_url = "https://www.biaozhun.org/include/vdimgck.php"
    img_res = ses.get(img_url, headers=headers1).content
    YZM = base64_api('XXXXX', 'XXXXX', img_res)

    login_url = "https://www.biaozhun.org/member/index_do.php"
    login_data = f'fmdo=login&dopost=login&gourl=&userid={username}&pwd={password}&vdcode={YZM}&keeptime=604800'
    login_res = ses.post(login_url, headers=headers2, data=login_data).text
    print(login_res)

if __name__ == "__main__":
    username = "XXXXX"
    password = "XXXXX"
    ses = requests.session()
    login()

yyebuxiu 发表于 2021-1-7 15:29

- 请求地址: `https://www.biaozhun.org/member/index_do.php`
- 方法: `post`
-内容: `fmdo=login&dopost=login&gourl=&userid=用户名&pwd=密码&vdcode=验证码&keeptime=2592000`

emmm验证码我用的打码平台的

狒狒大魔王 发表于 2021-1-7 15:36

接口:https://www.biaozhun.org/member/index_do.php
post的
参数fmdo=login&dopost=login&gourl=&userid=123465&pwd=asas&vdcode=8364&keeptime=0
fmdo和dopost应该是访问目的
userid为账号
pwd为密码
code验证码
keeptime为cookie有效期

rsnodame 发表于 2021-1-7 16:44

{:301_1008:} 图省事儿的话可以先浏览器登录,然后把cookie复制下来,导入py的脚本里使用

choujie1689 发表于 2021-1-7 17:05

seliunm自动化登录,然后获取cookie存储,可以试试

johnnyb 发表于 2021-1-8 10:00

这好像是 flask写的web
写的很明白 post的url 和from表单. 而且未加密.

atpx4869love 发表于 2021-1-8 19:02

johnnyb 发表于 2021-1-8 10:00
这好像是 flask写的web
写的很明白 post的url 和from表单. 而且未加密.

明白了谢啦~~~~

uav 发表于 2021-1-9 10:42

学习了
1024
页: [1] 2
查看完整版本: python get请求 模拟登录 获取最新COOKIE