【问题标题】:Invalid Request Origin after Python post requestPython 发布请求后请求来源无效
【发布时间】:2020-02-12 09:43:48
【问题描述】:

我一直在尝试编写一个程序来获取我的学校时间表,该时间表被锁定在登录屏幕后面,但是当我运行我的 python 脚本时,我遇到了:

Sorry, we are unable to complete this request

An error occured while submitting the form:

Invalid Request Origin

这是我目前写的代码:

import requests

login_url =     'https://WEBSITE/login?page=%2Fhomepage'
timetable_url = 'https://WEBSITE/timetable'

payload = {
    'username': 'USERNAME', 
    'password': 'PASSWORD'
}

with requests.Session() as session:
    post = session.post(login_url, data=payload, verify = True)
    r = session.get(timetable_url)
    print (post.text)

这是登录页面的 html:

<div id="content">
   <form id="login" method="post" action="/login?page=%2Flogin%2F">
      <input type="hidden" name="page" value="/login/" />
      <div class="row collapse">
         <div class="small-12 column">
            <div class="logo">
               <img src="/images/logo.php?logo=skin_logo_login&size=normal" alt="Schoolbox" />
            </div>
         </div>
         <div class="small-12 column">
            <p id="error-msg" class="alert-box alert"></p>
         </div>
         <div class="small-12 column">
            <input type="text" name="username" id="username" placeholder="Username" />
            <input type="password" name="password" id="password" placeholder="Password" />
         </div>
      </div>
      <div class="row collapse">
         <div class="small-12 column">
            <p><a href="/forgotten-password.php">Forgotten your password?</a></p>
         </div>
         <div class="small-12 column">
            <input id="rememberme" type="checkbox" name="rememberme" value="1" />
            <label for="rememberme">Remember me</label>
         </div>
         <div class="small-12 column login-links">
            <input type="submit" name="Submit" value="Login" alt="Login" />
         </div>
      </div>
   </form>
</div>

我该如何解决这个错误,或者还有其他更可行的解决方案吗?谢谢。

【问题讨论】:

    标签: python html post get python-requests


    【解决方案1】:

    此错误Invalid Request Origin 表示您的来源与服务器限制的不匹配。您可以尝试添加 Origin: 标头来指定您的 timetable_url,但该页面可能只能由服务器上的另一个页面调用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-03
      • 1970-01-01
      • 2014-09-26
      • 2016-09-26
      • 1970-01-01
      • 2018-11-28
      • 2020-12-11
      • 1970-01-01
      相关资源
      最近更新 更多