Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.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';s请求模块_Python_Asp.net_Authentication_Web Scraping_Python Requests - Fatal编程技术网

使用Python';s请求模块

使用Python';s请求模块,python,asp.net,authentication,web-scraping,python-requests,Python,Asp.net,Authentication,Web Scraping,Python Requests,我试图从我的学校网页上浏览一些信息,但我很难通过登录。我知道也有类似的三个,我花了一整天的时间阅读,但无法让它工作 这是im使用的程序(用户名和密码已更改): 你能告诉我,我做错了什么吗?我是否缺少一些参数?这是个好方法吗?我试过robobrowser和BeautifulSoup,但都不行。我打赌我错过了一些非常琐碎的事情 我首先使用的是Python 3.5,你没有使用,所以即使你的第一篇文章成功地让你登录到第二篇文章,你也不知道。其次,您缺少需要发布的数据、_VIEWSTATEGENERATO

我试图从我的学校网页上浏览一些信息,但我很难通过登录。我知道也有类似的三个,我花了一整天的时间阅读,但无法让它工作

这是im使用的程序(用户名和密码已更改):

你能告诉我,我做错了什么吗?我是否缺少一些参数?这是个好方法吗?我试过robobrowser和BeautifulSoup,但都不行。我打赌我错过了一些非常琐碎的事情


我首先使用的是Python 3.5,你没有使用,所以即使你的第一篇文章成功地让你登录到第二篇文章,你也不知道。其次,您缺少需要发布的数据、_VIEWSTATEGENERATOR和_VIEWSTATE,您可以使用BeautifulSoup从源解析这些数据:

您可以看到在Chrome开发工具中发布的所有表单数据


上面发布的内容应该足以登录,如果没有任何需要的值,可以使用BeautifulSoup从登录表中解析。

非常感谢。我不知道会议的情况。当我尝试使用您的解决方案时,我遇到了与我尝试使用RoboBrowser时相同的错误:
code:data[“\uuu viewstate”]=soup。选择一个(“\uuu viewstate”)[“value”]TypeError:“NoneType”对象不可下标
。你知道为什么会这样吗?是的,我应该用
\uu VIEWSTATE
的所有大写字母,现在应该可以了。非常感谢。在向数据中添加另外三个参数后,它工作正常:)@padraiccnningham,Hi,我尝试了这段代码,但是如果page.text==open\u page.text:AttributeError:'str'对象没有属性'text',则出现错误,因此我对这些行进行了注释,并尝试了打印open\u page.content,它打印了登录页面的内容,而不是登录后要打开的页面,请问有什么建议吗?编辑:仅打印
open\u页面
一项就给出200的响应。@KiDo,你想登录哪个网站?
import requests

payload = {'ctl00$cphmain$Loginname': 'name', 'ctl00$cphmain$TextBoxHeslo': 'password'}

page = requests.post('http://gymnaziumbma.no-ip.org:81/login.aspx', payload)
open_page = requests.get("http://gymnaziumbma.no-ip.org:81/prehled.aspx?s=44&c=prub")

#Check content
if page.text == open_page.text:
    print("Same page")
else:
    print(open_page.text)
    print("Different page!")
from bs4 import BeautifulSoup

data = {'ctl00$cphmain$Loginname': 'name', 'ctl00$cphmain$TextBoxHeslo': 'password'}
# A Session object will persist the login cookies.
with requests.Session() as s:
    page = s.get('http://gymnaziumbma.no-ip.org:81/login.aspx')
    soup = BeautifulSoup(page.content)
    data["___VIEWSTATE"] = soup.select_one("#__VIEWSTATE")["value"]
    data["__VIEWSTATEGENERATOR"] = soup.select_one("#__VIEWSTATEGENERATOR")["value"]
    s.post('http://gymnaziumbma.no-ip.org:81/login.aspx', data=data)
    open_page = s.get("http://gymnaziumbma.no-ip.org:81/prehled.aspx?s=44&c=prub")

    #Check content
    if page.text == open_page.text:
        print("Same page")
    else:
        print(open_page.text)
        print("Different page!")