asp.net – 将提交请求提交到aspx页面
我在
https://searchlight.cluen.com/E5/CandidateSearch.aspx有一个ASPX页面,上面有一个表格,我想提交并解析信息.
使用Python的urllib和urllib2我使用正确的标头和用户代理创建了一个post请求.但是生成的html响应不包含预期的结果表.我误解了还是错过了任何明显的细节? import urllib import urllib2 headers = { 'HTTP_USER_AGENT': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.13) Gecko/2009073022 Firefox/3.0.13','HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml; q=0.9,*/*; q=0.8','Content-Type': 'application/x-www-form-urlencoded' } # obtained these values from viewing the source of https://searchlight.cluen.com/E5/CandidateSearch.aspx viewstate = '/wEPDwULLTE3NTc4MzQwNDIPZBYCAg ... uJRWDs/6Ks1FECco=' eventvalidation = '/wEWjQMC8pat6g4C77jgxg0CzoqI8wgC3uWinQQCwr/ ... oPKYVeb74=' url = 'https://searchlight.cluen.com/E5/CandidateSearch.aspx' formData = ( ('__VIEWSTATE',viewstate),('__EVENTVALIDATION',eventvalidation),('__EVENTTARGET',''),('__EVENTARGUMENT',('textcity',('dropdownlistposition',('dropdownlistdepartment',('dropdownlistorderby',('textsearch',) # change user agent from urllib import FancyURLopener class MyOpener(FancyURLopener): version = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11' myopener = MyOpener() # encode form data in post-request format encodedFields = urllib.urlencode(formData) f = myopener.open(url,encodedFields) print f.info() try: fout = open('tmp.htm','w') except: print('Could not open output filen') fout.writelines(f.readlines()) fout.close() 关于这个主题有几个问题是有帮助的(例如how to submit query to .aspx page in python),但是如果可能的话,我会坚持这个并要求额外的帮助. 生成的html页面说我可能需要登录,但aspx页面显示在我的浏览器中而没有任何登录. 以下是info()的结果:
解决方法
ASP.Net使用安全功能,防止在
embedding specific information in it.之前篡改ViewState
服务器很可能拒绝您的请求,因为ViewState被视为被篡改.我不能绝对肯定地说这个,但ASP.Net有several security features内置于可能阻止直接发布的框架中. 如果涉及会话,那么您还需要考虑到这一点.要模拟浏览器正在执行的操作,您需要执行以下步骤: >请求页面. 我知道很多工作,但不是太难.同样,这可能不是您问题的唯一来源,但值得一读,以便开始排除故障. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 为什么ASP.NET接受外部创建的会话标识符?
- ASP.NET有一个复选框列表,在4×5网格中有我很好的复选框
- asp.net-2.0 – 如何在生产环境中删除临时ASP.net文件?
- asp.net-mvc – 如何在窗体发布后检查我的视图中的TempData
- asp.net – Ninject程序集与引用的程序集不匹配
- asp.net-mvc – 在MVC命令,优先级和功能问题中授权属性
- asp.net-core – 使用IdentityServer4生成访问令牌,无需密码
- ASP.NET MVC – 使用ViewData将Json String传递给View
- bytearray图像asp.net
- asp.net-mvc – MVC 5 WebRequest URL中的尾随点导致404
- asp.net-mvc-4 – Azure Blob 400创建容器时的错
- asp.net core html 选择框checked选中
- asp.net – 在MVC5应用程序中使用OWIN软件包的好
- asp.net-mvc – 动作链接按钮
- 在ASP.Net MVC中禁用会话状态每请求
- asp.net-mvc – TinyURL喜欢使用ASP.NET MVC进行
- asp.net-mvc-3 – ASP.NET MVC如何从Controller访
- asp.net – System.Web.Security.FormsAuthentic
- 做一个ASP.NET网站的更改杀死活动会话?
- asp.net-mvc – 从asp.net mvc控制器返回一个js文