使用 python 发送 POST 请求
using python to send POST request
我正在尝试向站点 (https://get.cbord.com/dartmouth/full/login.php) 发送 POST 请求以进行登录。我想我 运行 遇到了数据格式问题我正在传递,但说实话我才刚刚开始,所以我不太了解这一点。我尝试使用 Chrome 开发工具破译 POST 请求,这就是我想出的。
#!/usr/bin/env python
import requests
import sys
EMAIL = 'xxx'
PASSWORD = 'xxx'
LOGIN_URL = 'https://get.cbord.com/dartmouth/full/login.php'
FULL_URL = 'https://get.cbord.com/dartmouth/full/funds_home.php'
def main():
# Start a session so we can have persistant cookies
#session = requests.session(config={'verbose': sys.stderr})
session = requests.session()
# This is the form data that the page sends when logging in
login_data = {
'username': EMAIL,
'password': PASSWORD,
'submit': 'Login',
}
# Authenticate
r = session.post(LOGIN_URL, data=login_data)
# Try accessing a page that requires you to be logged in
r = session.get(FULL_URL)
if __name__ == '__main__':
main()
大部分代码是直接从对类似问题的回复中复制粘贴的。我想我只是不明白如何弄清楚 login_data 字典应该是什么。
感谢您的帮助!
帕特
我检查了这一页,发现还有一个参数:formToken。
您可以从网页源中获取它的值。看起来像这些
所以首先你需要获得https://get.cbord.com/dartmouth/full/login.php页
login_page = session.get(LOGIN_URL)
login_page_text = login_page.text
然后解析页面以从中检索 formToken 值并最终进行身份验证
login_data = {
'username': EMAIL,
'password': PASSWORD,
'submit': 'Login',
'formToken': formToken_value
}
# Authenticate
r = session.post(LOGIN_URL, data=login_data)
我正在尝试向站点 (https://get.cbord.com/dartmouth/full/login.php) 发送 POST 请求以进行登录。我想我 运行 遇到了数据格式问题我正在传递,但说实话我才刚刚开始,所以我不太了解这一点。我尝试使用 Chrome 开发工具破译 POST 请求,这就是我想出的。
#!/usr/bin/env python
import requests
import sys
EMAIL = 'xxx'
PASSWORD = 'xxx'
LOGIN_URL = 'https://get.cbord.com/dartmouth/full/login.php'
FULL_URL = 'https://get.cbord.com/dartmouth/full/funds_home.php'
def main():
# Start a session so we can have persistant cookies
#session = requests.session(config={'verbose': sys.stderr})
session = requests.session()
# This is the form data that the page sends when logging in
login_data = {
'username': EMAIL,
'password': PASSWORD,
'submit': 'Login',
}
# Authenticate
r = session.post(LOGIN_URL, data=login_data)
# Try accessing a page that requires you to be logged in
r = session.get(FULL_URL)
if __name__ == '__main__':
main()
大部分代码是直接从对类似问题的回复中复制粘贴的。我想我只是不明白如何弄清楚 login_data 字典应该是什么。
感谢您的帮助!
帕特
我检查了这一页,发现还有一个参数:formToken。 您可以从网页源中获取它的值。看起来像这些 所以首先你需要获得https://get.cbord.com/dartmouth/full/login.php页
login_page = session.get(LOGIN_URL)
login_page_text = login_page.text
然后解析页面以从中检索 formToken 值并最终进行身份验证
login_data = {
'username': EMAIL,
'password': PASSWORD,
'submit': 'Login',
'formToken': formToken_value
}
# Authenticate
r = session.post(LOGIN_URL, data=login_data)