是否可以通过传递xml参数来记录python请求?

时间:2019-07-08 19:20:20

标签: python python-requests-html

我通过传递xml参数对og python请求进行了研究,但在此特定页面上没有获得很大的成功。我无法登录。如果有人已经有类似的经历,欢迎任何指导。我的代码如下:

import requests
from bs4 import BeautifulSoup


def main():


    # 'https://plataformafinanceira.xxxxxxxxbr.corp/xxxxxxxxcdc/login/login.html?timestamp=1478706683443?redirect=true'
    # 'LOGIN:Login'

    s = requests.Session()

    headers = {
        'Accept': 'application/xml, text/xml, */*',
        'Accept-Encoding': 'gzip, deflate, br',
        'Accept-Language': 'en-US,en;q=0.9',
        'Connection': 'Keep-Alive',
        'Content-Type': 'text/xml',
        'Host': 'plataformafinanceira.xxxxxxxxbr.corp',
        'Referer': 'https://plataformafinanceira.xxxxxxxxbr.corp/xxxxxxxxcdc/login/login.html?redirect=true',
        'X-Requested-With': 'XMLHttpRequest',
        'User-Agent': 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E)'
    }

    url = 'https://plataformafinanceira.xxxxxxxxbr.corp/xxxxxxxxcdc/login/login.html?timestamp=1478706683443?redirect=true'
    r = s.get(url, headers=headers, verify=False)
    print('************************************')
    print(r.status_code)
    print(r.cookies.get_dict())
    print('************************************')
    cookies = r.cookies.get_dict()

    xml = '''
            <?xml version="1.0" encoding="ISO-8859-1"?><request>
            <login type="group">
            <row>
            <id_user><![CDATA[x050432]]></id_user>
            <ds_password><![CDATA[NDY0NnBvcnQ=]]></ds_password>
            <version><![CDATA[2]]></version>
            </row>
            </login>
            </request>
            '''

    payload = {
        'id_user': 'x050432',
        'txtcd_Pwd': '4646port',
        'version': '2'
    }

    url = 'https://plataformafinanceira.xxxxxxxxbr.corp/xxxxxxxxcdc/common/callService.do?name=LOGIN:Login-%3Elogin'
    r = s.post(url, headers=headers, auth=('x050432', '4646port'), cookies=cookies, verify=False)
    print('++++++++++++++++++++++++++++++++++++')
    print(r.status_code)
    print(r.cookies.get_dict())
    print('++++++++++++++++++++++++++++++++++++')
    # r = s.post(url, headers=headers, auth=('x050432', '4646port'), data=payload, cookies=cookies)
    # r = s.post(url, headers=headers, data=payload, cookies=cookies, verify=False)


    # url = 'https://plataformafinanceira.xxxxxxxxbr.corp/xxxxxxxxcdc/login/iframePrincipal.html?funcao=index&timestamp=1562604252980'
    # r = s.post(url, headers=headers, cookies=cookies, verify=False)
    # r = s.post(url, headers=headers, auth=('x050432', '4646port'), data=payload, cookies=cookies)
    # print(r.status_code)
    # print(r.cookies.get_dict())
    # # print(r.text)


    with open('portal.html', 'w') as f:
        f.write(r.text)
    # print(r.text)


    # InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
    # url = 'https://plataformafinanceira.xxxxxxxxbr.corp/xxxxxxxxcdc/login/login.html'


if __name__ == '__main__':
    main()

图片:

enter image description here

0 个答案:

没有答案