Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python中的帐户验证post方法请求_Python_Python Requests - Fatal编程技术网

python中的帐户验证post方法请求

python中的帐户验证post方法请求,python,python-requests,Python,Python Requests,在下面的代码中,我尝试对microsoft online帐户执行POST方法,我从一个需要发布电子邮件的页面开始。这是我迄今为止的努力 import requests from bs4 import BeautifulSoup url = 'https://moe-register.emis.gov.eg/account/login?ReturnUrl=%2Fhome%2FRegistrationForm' headers ={ 'Accept': 'text/html,application

在下面的代码中,我尝试对microsoft online帐户执行POST方法,我从一个需要发布电子邮件的页面开始。这是我迄今为止的努力

import requests
from bs4 import BeautifulSoup

url = 'https://moe-register.emis.gov.eg/account/login?ReturnUrl=%2Fhome%2FRegistrationForm'
headers ={
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'Accept-Encoding': 'gzip, deflate, br',
'Accept-Language': 'en-US,en;q=0.9,ar;q=0.8',
'Cache-Control': 'max-age=0',
'Connection': 'keep-alive',
'Content-Type': 'application/x-www-form-urlencoded',
'Cookie':'__RequestVerificationToken=vdS3aPPg5qQ2bH9ADTppeKIVJfclPsMI6dqB6_Ru11-2XJPpLfs7jBlejK3n0PZuYl-CwuM2hmeCsXzjZ4bVfj2HGLs2KOfBUphZHwO9cOQ1; .AspNet.MOEEXAMREGFORM=ekeG7UWLA6OSbT8ZoOBYpC_qYMrBQMi3YOwrPGsZZ_3XCuCsU1BP4uc5QGGE2gMnFgmiDIbkIk_8h9WtTi-P89V7ME6t_mBls6T3uR2jlllCh0Ob-a-a56NaVNIArqBLovUnLGMWioPYazJ9DVHKZY7nR_SvKVKg2kPkn6KffkpzzHOUQAatzQ2FcStZBYNEGcfHF6F9ZkP3VdKKJJM-3hWC8y62kJ-YWD0sKAgAulbKlqcgL1ml6kFoctt2u66eIWNm3ENnMbryh8565aIk3N3UrSd5lBoO-3Qh8jdqPCCq38w3cURRzCd1Z1rhqYb3V2qYs1ULRT1_SyRXFQLrJs5Y9fsMNkuZVeDp_CKfyzM',
'Host': 'moe-register.emis.gov.eg',
'Origin': 'https://moe-register.emis.gov.eg',
'Referer': 'https://moe-register.emis.gov.eg/account/login?ReturnUrl=%2Fhome%2FRegistrationForm',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36'}


with requests.session() as s:
   # r = s.post(url)
    #soup = BeautifulSoup(r.content, 'lxml')

    data = {'EmailAddress': '476731809@matrouh1.moe.edu.eg'}
    r_post = s.post(url, data=data, headers=headers, verify=False)
    soup = BeautifulSoup(r_post.content, 'lxml')
    print(soup)
我得到的是需要再次发布电子邮件的同一页。我希望获得需要登录密码的页面

这是起始页 这是需要发布的电子邮件的一个示例
476731809@matrouh1.moe.edu.eg

**我试图使用这样的代码,但我再次登录了页面(尽管凭据是正确的) 你能试试这个密码吗

import requests
from bs4 import BeautifulSoup

url = 'https://login.microsoftonline.com/common/login'
s = requests.Session()
res = s.get('https://login.microsoftonline.com')
cookies = dict(res.cookies)
res = s.post(url, 
    auth=('476731809@matrouh1.moe.edu.eg', 'Std#050202'),
    verify=False, 
    cookies=cookies)
soup = BeautifulSoup(res.text, 'html.parser')
print(soup)

我签出了该页面,以下内容似乎有效:

import requests

headers = {
    'Connection': 'keep-alive',
    'Cache-Control': 'max-age=0',
    'Upgrade-Insecure-Requests': '1',
    'Origin': 'https://moe-register.emis.gov.eg',
    'Content-Type': 'application/x-www-form-urlencoded',
    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 11_1_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36',
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
    'Sec-Fetch-Site': 'same-origin',
    'Sec-Fetch-Mode': 'navigate',
    'Sec-Fetch-User': '?1',
    'Sec-Fetch-Dest': 'document',
    'Referer': 'https://moe-register.emis.gov.eg/account/login',
    'Accept-Language': 'en-US,en;q=0.9,gl;q=0.8,fil;q=0.7,hi;q=0.6',
}

data = {
    'EmailAddress': '476731809@matrouh1.moe.edu.eg'
}

response = requests.post('https://moe-register.emis.gov.eg/account/authenticate', headers=headers, data=data, verify=False)

您的POST端点似乎是错误的,因为您需要从
/login
重新定向到
/authenticate
以继续请求(我在mac上,因此我的用户代理可能与您的/所需的不同,您可以从
headers
变量更改它)。

。非常感谢你。我看了一眼,但在回复中没有找到部分标志。那一点你能帮我吗?我想在响应页面上输入密码。可能吗?下一个URL是。你从这篇文章收到的回复似乎包含了下一个链接所需的参数。我建议打开chrome开发者控制台并跟踪HTTP请求。我上面内容中的链接是静态的,所以你可以使用这个硬编码的链接或替换其中的参数(取决于你从帖子中得到的响应)更改电子邮件以获取登录页面。我没有丰富的经验,我正在尝试获取整个过程,但对我来说仍然很难。你能在代码中添加添加登录密码的部分吗(如果可能的话,还可以添加注释以尝试更好地完成登录过程)??由于microsoft页面上的登录url是静态的(url中的登录提示参数),我只是草拟了一个粗略的请求。您可以在
数据
部分更改密码参数,并从代码中删除不必要的标题/值/cookie。