Obtenga la dirección del código de verificación durante la navegación y capture la interfaz antes de la redirección

1. Haga clic con el botón derecho en la imagen del código de verificación para copiar la dirección de la imagen http://xxx.yanzhengma.com
2. 1) Tome los datos protegidos durante la navegación: la URL antes de la redirección 302, debe verificar la opción de registro del preservador 2) Datos del formulario: escritos en forma de diccionario
3. Inicio de sesión con código de verificación: 1) Debido a que se envía una solicitud para generar un código de verificación al servidor antes de iniciar sesión, el servidor genera una cookie para que el código de verificación distinga el identificador único del código de verificación, porque el código de verificación se puede repetir. Por lo tanto, el servidor devolverá una cookie de código de verificación, una
solicitud de inicio de sesión + una cookie de código de verificación, para iniciar sesión correctamente
2) Solicitud de código de verificación
: http: //xxx.yanzhengma .com = "http: // xxx. yanzhengma.com"
rep = r.get (http://xxx.yanzhengma.com)
r_cookie = rep.cookies # es un formato de diccionario, tome directamente un valor clave
Nota: establezca el code_cookies del parámetro entrante = {"laravel_session": r_cookie ['laravel_session']}
Coloque cookies en la solicitud de inicio de sesión, de la siguiente manera:
res = request.post (url = url, data = data, cookies = code_cookies) 4.
1) Beneficios de usar el objeto de sesión: la sesión puede guardar automáticamente la información de Cookies generada por el servidor y adjuntarse automáticamente a la siguiente solicitud
2) Qué es una sesión: una sesión (a partir de la creación de una conexión de solicitud entre el cliente y el servidor, y el final de la desconexión entre el cliente y el servidor, es decir, cerrar el navegador)
3) Cómo utilizar:
session = request.session () # 创建 session 对象
res = session.get (url) ... session.post (url, data) 等 put 、 delete 操作
4) 在 unitest 登录 的 实践
import unittest
class Test_unittest (unittest.TestCase):
def setUp (self):
self.session = request.session ()
self.url_login = “http://xxx.login.com”
self.url_code = “http://xxx.url_code.com”

def tearDown(self):
    self.session.close()
def test_login_success(self):
    self.session.get(self.url_code)
    data = {"name":"admin",
            "password":"admin"}
    res = self.session.post(self.url_login,data = data)
    try:
        self.assertEqual("o",res.json()['code'])
    except AssertionError as e:
        print(e)

def test_login_password_error(self):
    self.session.get(self.url_code)
    data = {"name":"admin",
            "password":"000"}
    res = self.session.post(self.url_login,data = data)
    try:
        self.assertEqual("o",res.json()['code'])
    except AssertionError as e:
        print(e)
if __name__ == '__main__':
    unittest.main()    

Supongo que te gusta

Origin blog.csdn.net/qq_37405087/article/details/110086476
Recomendado
Clasificación