python post登录请求

python post请求是爬虫中用的比较多的一个场景,如何实现呢?这里会介绍两种实现方式

一、request.post请求

  1. 导入import requests
  2. 模拟一个登录请求,自定义data数据字典
 data = {
        'userName': '019630',
        'password': 'b7cb02c884c96820027592ed0b002b06',
        'systemCode': 'SSO',
        't': 0,
        'userAccountType': 'Portal'
    }
  1. 请求代码
 response = requests.post(url='http://xxx.uc56.com/omg-sso-main/login.action', data=data)
    return response.text
  1. 返回信息
{"errorCode":"B3008","errorMsg":null,"token":"O/wWQuCQCIvNpP5Gw8aAvcDKleef5SGAy1SyHmZNeoT6iv5V5KT6Ag==","userName":"019630","empCode":"019630","systemCasUrlList":[],"updPwdFlag":true,"updPwdIntervalDay":66,"errorCount":null,"checkCode":null,"scanSystemCode":null}

二、requests.request 请求

  1. request请求与post类似,我们通过源码分析,post实际也是调用了request示例化请求
 def post(url, data=None, json=None, **kwargs):
    r"""Sends a POST request.

    :param url: URL for the new :class:`Request` object.
    :param data: (optional) Dictionary, list of tuples, bytes, or file-like
        object to send in the body of the :class:`Request`.
    :param json: (optional) json data to send in the body of the :class:`Request`.
    :param \*\*kwargs: Optional arguments that ``request`` takes.
    :return: :class:`Response <Response>` object
    :rtype: requests.Response
    """

    return request('post', url, data=data, json=json, **kwargs)
  1. 再分析底层代码我们
with sessions.Session() as session:
    return session.request(method=method, url=url, **kwargs)
  1. 改造request请求
response = requests.request(method='POST', url='http://xxx.uc56.com/omg-sso-main/login.action', data=data)
    return response.text

范围结果一致

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值