• Python实战一:获取某云app登录cookie


    今天下午抽时间了解了python爬虫,简单认识了request库

    需求:

    因为天天需要登录某云app,帮别人签到,所以想写个python脚本来帮忙。

    了解request库

    request库是一个用于发送HTTP请求的库,可以用于向服务器发送GET、POST、PUT、DELETE等请求,并接收服务器返回的响应。

    request库的基本用法如下:

    1. 安装request库:在命令行中执行pip install requests命令即可安装。

    2. 导入request库:在Python脚本中使用import requests语句将request库导入到当前脚本中。

    3. 发送GET请求:使用requests.get(url)函数发送GET请求,其中url为要访问的URL地址。例如:

    import requests
    
    # 发送GET请求
    response = requests.get('https://www.example.com')
    
    • 1
    • 2
    • 3
    • 4
    1. 发送POST请求:使用requests.post(url, data)函数发送POST请求,其中url为要访问的URL地址,data为POST请求的参数。例如:
    import requests
    
    # 发送POST请求
    data = {'username': 'admin', 'password': '123456'}
    response = requests.post('https://www.example.com/login', data=data)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    1. 获取响应内容:使用response.text属性可以获取响应的内容,使用response.json()方法可以将响应内容解析为JSON格式的数据。例如:
    import requests
    
    # 发送GET请求并获取响应内容
    response = requests.get('https://www.example.com')
    content = response.text
    json_data = response.json()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    1. 处理错误和异常:当访问URL出现错误时,可以使用response.status_code属性获取错误码,使用response.raise_for_status()方法抛出异常。例如:
    import requests
    
    # 发送GET请求并检查错误
    response = requests.get('https://www.example.com')
    if response.status_code == 200:
        # 请求成功,处理响应内容
        content = response.text
    else:
        # 请求失败,抛出异常
        response.raise_for_status()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    这只是request库的基本用法,还有许多高级功能和选项可以用来处理不同的HTTP请求和响应。详细的文档可以参考官方网站:https://requests.readthedocs.io/

    代码实现:

    import requests
    
    # 构建请求头部信息
    headers = {
        "Host": "api.xixunyun.com",
        "content-type": "application/x-www-form-urlencoded",
        "accept-encoding": "gzip",
        "user-agent": "okhttp/3.8.1"
    }
    
    # 构建请求参数
    data = {
        "app_version": "4.9.6",
        "registration_id": "",
        "uuid": "自己的",
        "request_source": "3",
        "platform": "2",
        "mac": "",
        "password": "自己的",
        "system": "13",
        "school_id": "184",
        "model": "自己的",
        "app_id": "cn.vanber.xixunyun.saas",
        "account": "自己的账号",
        "key": ""
    }
    
    # 构建请求URL
    url = "https://api.xixunyun.com/login/api?from=app&version=4.9.6&platform=android&entrance_year=0&graduate_year=0&school_id=自己的学校名 h2"
    
    # 发起POST请求
    response = requests.post(url, headers=headers, data=data)
    
    # 打印响应内容
    print(response.text)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
  • 相关阅读:
    开源是什么意思?开源软件优缺点有哪些?
    非技术人员也能快速实现Wordpress网页开发
    完美修复google翻译失效的问题
    C++类的默认成员函数
    web网页设计期末课程大作业:漫画网站设计——我的英雄(5页)学生个人单页面网页作业 学生网页设计成品 静态HTML网页单页制作
    k8s网络模型介绍:pod内/间通信
    全面解析找不到msvcr100.dll的解决方法,快速修复系统msvcr100.dll丢失问题!
    日志:Redo Log 和 Undo Log
    Linux知识点 -- 网络基础 -- 数据链路层
    analog IC layout-Parasitic effects
  • 原文地址:https://blog.csdn.net/qq_61102168/article/details/136638754