# encoding:utf-8

import re
import json
import random
from requests.sessions import Session

class Regist(object):
  def __init__(self):
    """初始化session 并设置header和cookie"""

    self.url = "http://xxxx/Account/Regist"
    self.s = Session()
    self.s.headers.setdefault("Content_type", "application/x-www-form-urlencoded")
    self.s.cookies.update(self.get_cookies()[0])

    # self.s.headers.update({"Cookies": self.get_cookies()})

  def get_cookies(self):
    """
    获取上一次请求的cookie
    :return: 返回cookie dict
    """
    r = self.s.get(self.url)
    rint(r.cookies.get_dict())
    return (r.cookies.get_dict(), r.text)

  def get_token(self):
    ""
    获取上一次请求隐匿的表单token
    :return:
    """
    pattern = 'name="__RequestVerificationToken" type="hidden" value="(.*)"'
    p = re.compile(pattern)
    text = self.get_cookies()[1]
    if p.search(text):
      token = p.search(text).groups()[0]
      token = token.__str__().strip('"')
    else:
      return
    eturn token

  def get_mobile(self):
    s = "144"
    n = range(10)
    for i in range(8):
    s += random.choice(n).__str__()
    if len(s) == 4 and s == "1442":
    s = (int(s) - 1).__str__()
    print(s)
    return s

  def regist(self):
    param = {"__RequestVerificationToken": self.get_token(),
    "MobilePhone": self.get_mobile(),
    "PassWord": "123456a",
    "ConfirmPassword": "123456a",
    "IntroducerMobile": "",
    "IsAcceptPact": "true"}
    r = self.s.post(self.url, data=param)
    try:
      eturn json.loads(r.text)
    except:
      return r.text

if __name__ == '__main__':
print(Regist().regist())

requests 获取token的更多相关文章

  1. Requests方法 -- Token获取操作

    获取token和code流程如下:a.先登陆抓包查看post(提交表单操作)头中是否有token和code关键字b.已知步骤a中出现了token和code,不登录前刷新登陆页面,查看response中 ...

  2. 登录获取token,token参数关联至所有请求的请求体内

    问题描述: 有些系统接口判断用户是否登录,是校验登录接口成功后传的token值,也就是请求系统所有接口时,前端传参必带登录成功后接口返回的token,后台以此检验是否过期或是否有登录.所有接口都依赖登 ...

  3. Python接口自动化【requests处理Token请求】

    首先说一下使用python模拟登录或注册时,对于带token的页面怎么登录注册模拟的思路: 1.对于带token的页面,需要先从最开始的页面获取合法token 2.然后使用获取到的合法token进行后 ...

  4. nodejs向远程服务器发送post请求----融云Web SDK/客户端获取token

    最近要用到一个叫融云的及时通讯的SDK,在获取token这个步骤的时候有点卡顿,以防以后碰到类似的问题,再此记录一下. 客户端通过融云 SDK 每次连接服务器时,都需要向服务器提供 Token,以便验 ...

  5. 获取token,绑定微信号,自定义菜单,事件响应demo

    摘要: 这个demo包含了获取token,绑定微信号,设置自定义菜单,响应文本和事件 这个教程的基础篇和提升篇都看完了,总感觉有点隔靴挠痒的感觉,讲的东西我都懂,没有吸收多少新鲜的知识.貌似还没有我这 ...

  6. 获取Token不完整问题

    有时会遇到获取Token只能获取一半的问题,明明有两个Cookie,但只获取到一个,这个是因为301重定向跳转设置问题,设置为True就可以获取到完整的Token了. myHttpWebRequest ...

  7. weblogic下 微信公众平台获取token报错

    问题描述: 开发微信公众平台,本地tomcat可以正常获取token并发送模板消息,部署在weblogic后报错,异常信息如下: java.security.InvalidKeyException: ...

  8. 新浪微博登陆,获取token

    用WeiboAuthListener获取code 用下面的代码获取token..半成品的sdk真让人捉急. String code = values.getString("code" ...

  9. 获取token之后,再调用匿名方法

    js获取token bpm.api.beginDownload = function (filePath, fileName) { var url = "/Home/GetToken&quo ...

随机推荐

  1. SqlServer如何给表添加新的字段以及字段注释

    语法: USE 数据库名ALTER TABLE 表名 ADD 字段名  类型  默认值  是否为空;EXEC sp_addextendedproperty N'MS_Description', N'注 ...

  2. SQLServer之数据库行锁

    行锁使用注意事项 1.ROWLOCK行级锁确保在用户取得被更新的行,到该行进行更新,这段时间内不被其它用户所修改.因而行级锁即可保证数据的一致性,又能提高数据操作的并发性. 2.ROWLOCK告诉SQ ...

  3. 数据加密算法--详解DES加密算法原理与实现

    DES算法简介 DES(Data Encryption Standard)是目前最为流行的加密算法之一.DES是对称的,也就是说它使用同一个密钥来加密和解密数据. DES还是一种分组加密算法,该算法每 ...

  4. anaconda 环境新建/删除/拷贝 jupyter notebook上使用python虚拟环境 TensorFlow

    naconda修改国内镜像源 国外网络有时太慢,可以通过配置把下载源改为国内的通过 conda config 命令生成配置文件,这里使用清华的镜像: https://mirrors.tuna.tsin ...

  5. 《JAVA程序设计》_第九周学习总结

    一.学习内容 1.数据库的建立.配置 在官网先下载好MySQL.navicat for MySQL.XAMPP.MySQL-connecter 在XAMPP中点击start开启MySQL 在navic ...

  6. 数据结构学习之栈求解n皇后问题

    数据结构学习之栈求解n皇后问题 0x1 目的 ​ 深入掌握栈应用的算法和设计 0x2 内容 ​ 编写一个程序exp3-8.cpp求解n皇后问题. 0x3 问题描述 即在n×n的方格棋盘上,放置n个皇后 ...

  7. 弱网测试-Network Emulator 网络模拟工具使用

    参考链接 https://www.jianshu.com/p/6a3d38aafac1

  8. [认证授权] 4.OIDC(OpenId Connect)身份认证(核心部分)

    1 什么是OIDC? 看一下官方的介绍(http://openid.net/connect/): OpenID Connect 1.0 is a simple identity layer on to ...

  9. [Alpha阶段]第七次Scrum Meeting

    Scrum Meeting博客目录 [Alpha阶段]第七次Scrum Meeting 基本信息 名称 时间 地点 时长 第七次Scrum Meeting 19/04/11 大运村寝室6楼 35min ...

  10. 关于npm安装报错 网络问题等等等

    最近需要安装taro 结果网络各种报错 解决方法 : 1重置网络 npm config rm proxynpm config rm https-proxy 2换淘宝镜像 npm config set ...