首页 > 解决方案 > 使用 python 获取对 aspx 站点的 GET 请求时出现问题。“你调用的对象是空的”

问题描述

我正在尝试为我的学习提取时间表,因为每次都需要填写很多表格。

我可以让 POST 工作,但 GET 请求只是给了我一个“对象引用未设置为对象的实例”错误。我试过手动选择标题和 cookie,但似乎没有任何效果。

我希望有人能看到我做错了什么。

import requests

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0'
    #'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
    #'Accept-Language': 'en-US,da;q=0.7,en;q=0.3',
    # 'Referer': 'http://keaplan.kea.dk/sws/prod2021/default.aspx',
    #'Connection': 'keep-alive',
    #'Upgrade-Insecure-Requests': '1',
    #'Sec-GPC': '1',
    #'Cache-Control': 'max-age=0',
    
}
formdata = {
    "__EVENTTARGET": "",
    "__EVENTARGUMENT": "",
    "__LASTFOCUS": "",
    "__VIEWSTATE": "/wEPDwUKMTkwNjc5NTI4NQ9kFgICBA9kFgYCAw8PFgQeCURpcmVjdGlvbgsqKlN5c3RlbS5XZWIuVUkuV2ViQ29udHJvbHMuQ29udGVudERpcmVjdGlvbgEeBF8hU0ICgIAIZGQCBQ9kFiYCAQ9kFgICAQ8PFgIeBFRleHQFGlZJRVcgU1RVREVOVCBTRVQgVElNRVRBQkxFZGQCAw8PFgIeB1Zpc2libGVoZGQCBQ8PFgIfA2hkFgICAw8QZGQWAGQCBw8PFgIfA2hkFgICAw8QZGQWAGQCCQ8PFgIfA2hkFgICAw8QZGQWAGQCCw8PFgQeCENzc0NsYXNzZR8BAgJkFgQCAQ8PFgYfBAUPRGVwYXJ0bWVudExhYmVsHwIFEVNlbGVjdCBEZXBhcnRtZW50HwECAmRkAgMPEA8WBB8EBRBEZXBhcnRtZW50RmlsdGVyHwECAmQQFQYQUGxlYXNlIFNlbGVjdC4uLgNCWUcDREVTA0RJRwNLRUEDVEVLFQYAIEZBQjIwNTIxQ0JEQjdCODgyRkUyRTUxNkU4QTQ5QURBIEZBQjIwNTIxQ0JEQjdCODgyRkUyRTUxNkU4QTQ5QUQ5IEZBQjIwNTIxQ0JEQjdCODgyRkUyRTUxNkU4QTQ5QURCIEZBQjIwNTIxQ0JEQjdCODgyRkUyRTUxNkU4QTQ5QUQ3IEZBQjIwNTIxQ0JEQjdCODgyRkUyRTUxNkU4QTQ5QUQ4FCsDBmdnZ2dnZxYBAgVkAg0PDxYEHwRlHwECAmQWBgIBDw8WBh8EBQ9EZXBhcnRtZW50TGFiZWwfAgUGRmlsdGVyHwECAmRkAgMPDxYMHwQFD1dpbGRjYXJkVGV4dEJveB4HVG9vbFRpcGUfAmUeDEF1dG9Qb3N0QmFja2geCU1heExlbmd0aGYfAQICZGQCBQ8PFgYfAgUGU2VhcmNoHwQFDldpbGRjYXJkQnV0dG9uHwECAmRkAg8PZBYEAgEPDxYCHwIFFVNlbGVjdCBTdHVkZW50IFNldChzKWRkAgMPEA8WBh4NU2VsZWN0aW9uTW9kZQsqK1N5c3RlbS5XZWIuVUkuV2ViQ29udHJvbHMuTGlzdFNlbGVjdGlvbk1vZGUBHwZoHgRSb3dzAgpkEBUhGkF1dG9tYXRpb25zdGVrbm9sb2cgMUEgRTIxGkF1dG9tYXRpb25zdGVrbm9sb2cgMUIgRTIxGkF1dG9tYXRpb25zdGVrbm9sb2cgM0EgRTIxGkF1dG9tYXRpb25zdGVrbm9sb2cgM0IgRTIxIUVsIEluc3RhbGxhdMO4ciAtIDEuIHNlbWVzdGVyIEUyMSFFbCBJbnN0YWxsYXTDuHIgLSAyLiBzZW1lc3RlciBFMjEhRWwgSW5zdGFsbGF0w7hyIC0gMy4gc2VtZXN0ZXIgRTIxHEVuZXJnaW1hbmFnZW1lbnQgNS4gc2VtZXN0ZXIPRVRFSyAxLiBTRU0gRTIxD0VURUsgMy4gU0VNIEUyMRJJVC1UZWtub2xvZyAxQSBFMjESSVQtVGVrbm9sb2cgMUIgRTIxEklULXRla25vbG9nIDJBIEUyMRJJVC1UZWtub2xvZyAzQSBFMjENT1BUTyAxQSBFMjAyMQ1PUFRPIDFCIEUyMDIxDU9QVE8gMUMgRTIwMjEHT1BUTyAzMQdPUFRPIDMyClBSVCAxQSBFMjEKUFJUIDFCIEUyMQpQUlQgMUkgRTIxCVBSVCAzIEUyMRZQUlQgMyBFMjEgRWxlY3RpdmUgQ0NQI1BSVCAzIEUyMSBFbGVjdGl2ZSBDQ1AgLSBGcmEgVWdlIDQyI1BSVCAzIEUyMSBFbGVjdGl2ZSBJQVUgLSBGcmEgVWdlIDQyFlBSVCAzIEUyMSBFbGVjdGl2ZSBRQVMjUFJUIDMgRTIxIEVsZWN0aXZlIFNQRCAtIEZyYSBVZ2UgNDIWUFJUIDMgRTIxIEVsZWN0aXZlIFRDTQpQVEkgNUEgRTIxClBUSSA1SSBFMjEOVlZTIDEuIHNlbSBFMjENVlZTIDMuc2VtIEUyMRUhB1NTVEVLMDEHU1NURUswNAdTU1RFSzA5DCNTUExVU0Q0QUVBRAdTU1RFSzExB1NTVEVLMTMHU1NURUsxNQwjU1BMVVM0QTg1Q0YHU1NURUsxOQdTU1RFSzIxB1NTVEVLMjMHU1NURUsyNQdTU1RFSzI2B1NTVEVLMjkMI1NQTFVTMTNFREEwDCNTUExVUzI2QjQ4OAwjU1BMVVNGRUZGNjAHU1NURUs1MQdTU1RFSzUyB1NTVEVLNDEHU1NURUs0MgdTU1RFSzQ0B1NTVEVLNDUMI1NQTFVTNTdCNjVFDCNTUExVUzcyMDIzRgwjU1BMVVNCQjM2RDAMI1NQTFVTRTY5OTZFDCNT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aW1lICgxNjowMC0yMjowMCkHQWxsIERheRUDBDEtMzYFMzMtNTYEMS01NhQrAwNnZ2cWAWZkAiEPDxYGHwRlHwECAh8DZ2QWBAIBDw8WBh8EBQ9EZXBhcnRtZW50TGFiZWwfAgUGTGF5b3V0HwECAmRkAgMPEA8WBh8EBRBEZXBhcnRtZW50RmlsdGVyHwZnHwECAmQQFQQUSW5kaXZpZHVhbCBUaW1ldGFibGUNS0VBIFRpbWV0YWJsZRBNYXN0ZXIgVGltZXRhYmxlDldlZWsgVGltZXRhYmxlFQQraW5kaXZpZHVhbDtzd3N1cmw7U1dTQ1VTVF9PYmplY3RfSW5kaXZpZHVhbDNpbmRpdmlkdWFsO3N3c3VybDtTV1NDVVNUX09iamVjdF9JbmRpdmlkdWFsX091dGxvb2sjbWFzdGVyO3N3c3VybDtTV1NDVVNUX09iamVjdF9NYXN0ZXI1dGV4dHNwcmVhZHNoZWV0O3N3c3VybDtTV1NDVVNUX09iamVjdF9UZXh0U3ByZWFkc2hlZXQUKwMEZ2dnZxYBZmQCIw8PFgIfA2hkFgICAw8QZGQWAGQCJQ9kFgQCAQ8PFgYfAgUOVmlldyBUaW1ldGFibGUfBAUTVmlld1RpbWV0YWJsZUJ1dHRvbh8BAgJkZAIDDw8WAh8DaGRkAgcPDxYCHwNoZGQYAQUeX19Db250cm9sc1JlcXVpcmVQb3N0QmFja0tleV9fFgEFCGRsT2JqZWN0TGLGMFAGF8xscmsECiskc4UPYhY=",
    "__VIEWSTATEGENERATOR": "FF97C082",
    "__EVENTVALIDATION": "/wEWeQLCk+6/CwLGjZyxBAKFvIlVAoiklYwOAsG0//gOApLS0ZIOAo+GwvAJAo+GwvAJAq372d0DAq37ufkOAq37xaIIAq37wZcLAq37zZUGAvjrn5wNAqLlnpwNAv26i4ENAva0/JoKAtXM+bYOAu6r1eMGAv26j4ENAsfoy9oJAonel7QEAp3CvNkDAtXM/bYOAv26g4ENAsfoz9oJAonei7QEAriasPQGAtXM8bYOAuu1q/cIAuzRmugJAoKzzqkKAv26n4ENAqzHxcEPAv26m4ENAqzHwcEPAva0jJsKAoneo7QEAvqt+ikCsNaO1wICr6KjxgICwMOt9QMCqcOHogYCnf6Ctw8Cid6ntAQCuJrM9AYC1cyNtw4C/bqTgQ0CwY/FjgQCz4/FjgQC8Mmk1gsC5sSE9QQCpNCr9wsCrofqgAcCq6LcjAQCho/FjgQCh4/FjgQChI/FjgQClY/FjgQCmo/FjgQCgo+FjQQCgo+JjQQCgo+NjQQCgo+xjQQCgo+1jQQCgo+5jQQCgo+9jQQCgo+hjQQCgo/ljgQCgo/pjgQCg4+FjQQCg4+JjQQCg4+NjQQCg4+xjQQCg4+1jQQCg4+5jQQCg4+9jQQCg4+hjQQCg4/ljgQCgI+NjQQCgI+xjQQCgI+1jQQCgI+1jQQCgI+5jQQCgI+9jQQCgI+hjQQCgI/ljgQCgI/pjgQCgY+FjQQCgY+JjQQCgY+NjQQCgY+xjQQCgY+1jQQCgY+5jQQCgY+9jQQCgY+hjQQCgY/ljgQCgY/pjgQCho+FjQQCho+JjQQCho+NjQQCgevX9wIC19mTmg4ChuvX9wIC6IrX1wwC6YrX1wwC6orX1wwC64rX1wwC7IrX1wwC7YrX1wwC7orX1wwC1dC5tQECr7nDlgsC+7uC3QIC5eyP+w8CyNDg+g4CodSC9AgC+d7SzgsChPKoqA8C5Kzt+AYC/fH6sAdoYZEzBv6Amlyd87KIhT+Zhw2rOg==",
    "tLinkType": "studentset",
    "dlFilter": "FAB20521CBDB7B882FE2E516E8A49AD8",
    "tWildcard": "",
    "dlObject": "SSTEK23",
    "lbWeeks": "34;35;36;37;38;39;40;41;42;43;44;45;46;47;48;49;50;51;52;53;54;55",
    "lbDays": "1-5",
    "dlPeriod": "1-36",
    "dlType": "individual;swsurl;SWSCUST_Object_Individual",
    "bGetTimetable": "View+Timetable"
}

cookies = {
    'cookieConsent': '0'
}


def main():
    s = requests.Session()
    s.headers.update(headers)
    post = s.post('http://keaplan.kea.dk/sws/prod2021/default.aspx',data=formdata)
    
    jar = requests.cookies.RequestsCookieJar()
    jar.update(cookies)
    s.cookies.update(jar) 
   
    scientiaCookie = s.cookies.get('ScientiaSWS')
    aspNET_SessionId = s.cookies.get('ASP.NET_SessionId')

    getHeaders = {
    'Host': 'keaplan.kea.dk',
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
    'Accept-Language': 'en-US,da;q=0.7,en;q=0.3',
    'Accept-Encoding': 'gzip, deflate',
    'Referer': 'http://keaplan.kea.dk/sws/prod2021/default.aspx',
    'Cookie': 'cookieConsent=0; ScientiaSWS='+scientiaCookie+'; ASP.NET_SessionId='+aspNET_SessionId+'',
    'Connection': 'keep-alive',
    'Upgrade-Insecure-Requests': '1',
    'Sec-GPC': '1',
    'Cache-Control': 'max-age=0'
    }

    s.headers.update(getHeaders)
    print(f'Session Cookies: {s.cookies} \nPost Respone: {post} \nSession Headers after Post: {s.headers}')
    get = s.get('http://keaplan.kea.dk/sws/prod2021/showtimetable.aspx/'+scientiaCookie)
    print(get)
    
    """ f = open("home.html","a")
    f.write(get.text)
    f.close """
    
    
    
if __name__ == "__main__":
    main()

标签: pythonasp.netpython-requests

解决方案


推荐阅读