如何处理 ASP.net 的神秘隐藏值? (__VIEWSTATE)

2024-01-12

当您尝试使用 Python 请求(POST)页面时,我试图弄清楚如何处理神秘的“__VIEWSTATE”和 Cie。它是我的脚本中许多问题的主要根源......并且我意识到,当我寻找答案/解决方案时,您没有那么多的解决方案(几乎为 0!)。

在本主题中: 无法使用 Python urllib2 加载 ASP.NET 页面 https://stackoverflow.com/questions/5380638/unable-to-load-asp-net-page-using-python-urllib2您可以看到我给出的解决方案包括每次加载页面时解析神秘字段的值...这可行,但实际上非常愚蠢:-)

    for result in the_page.findAll('input', attrs={'name' : '__VIEWSTATE'}):
        view_state =  result['value']

    for result_1 in the_page.findAll('input', attrs={'name' : '__EVENTVALIDATION'}):
        event_validation =  result_1['value']

    for result_2 in the_page.findAll('input', attrs={'name' : '__PREVIOUSPAGE'}):
        previous_page =  result_2['value']

    for result in the_page.findAll('input', attrs={'name' : '__EVENTTARGET'}):
        event_target =  result['value']

之后 :

    url = 'http://bandscore.ielts.org/search.aspx'
    values = {
                            '__EVENTTARGET' : 'gdvSearchResults',
                            '__EVENTARGUMENT' : page,
                        '__VIEWSTATE' : view_state,
                        '__PREVIOUSPAGE' : previous_page,
                        '__EVENTVALIDATION' : event_validation,
                        'DropDownList1'  : Country,
                        #'txtSearchInstitution'  : '',
                        #'hdnSearchText'  : '',
                        #'rdoFilter': '%25',
    }
    user_agent = 'Mozilla/5 (Solaris 10) Gecko'
    headers = { 'User-Agent' : user_agent }
    data = urllib.urlencode(values)
    req = urllib2.Request(url, data, headers)
    response = urllib2.urlopen(req)
    thePage = response.read()
    the_page = soup(thePage)

因此,这里还有一些带有良好解释的链接/一些提出了解决方案:

__VIEWSTATE 包含什么? https://stackoverflow.com/questions/1350216/what-does-the-viewstate-hold

http://msdn.microsoft.com/en-us/library/system.web.ui.losformatter.aspx http://msdn.microsoft.com/en-us/library/system.web.ui.losformatter.aspx

http://weblogs.asp.net/infinitiesloop/archive/2006/08/03/Truly-Understanding-Viewstate.aspx http://weblogs.asp.net/infinitiesloop/archive/2006/08/03/Truly-Understanding-Viewstate.aspx

http://msdn.microsoft.com/en-us/library/ms972976.aspx http://msdn.microsoft.com/en-us/library/ms972976.aspx

Mechanicalize 看不到一些隐藏的表单输入? https://stackoverflow.com/questions/3338214/mechanize-does-not-see-some-hidden-form-inputs

无法使用 Python urllib2 加载 ASP.NET 页面 https://stackoverflow.com/questions/5380638/unable-to-load-asp-net-page-using-python-urllib2

我意识到很多人都在试图找到一个好的方法来解决这个问题,所以让我们一起努力找到一个好的解决方案;-)

EDIT1: 也发现了,可能很有趣http://code.google.com/p/peekviewstate/source/browse/trunk/src/peekviewstate_example.py http://code.google.com/p/peekviewstate/source/browse/trunk/src/peekviewstate_example.py

(抱歉,这篇文章并不完美/充满了好信息……我是个n00b,但我很努力)


怎么处理呢?只要想想__VIEWSTATE作为服务器发送给您的不透明数据。它包含给定页面的一些特定数据及其对象的状态,我真的不建议您修改它。

如果您想使用浏览器模拟某些 ASP.NET 应用程序,则需要将这些包含在POST请求,以便服务器可以重建页面的状态。

它造成的确切问题是什么?我认为你的解决方案非常简单。

顺便说一句,顺便说一句 - 许多 ASP.NET 应用程序包含公共 API,可以使用它而不是尝试解析其页面。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何处理 ASP.net 的神秘隐藏值? (__VIEWSTATE) 的相关文章

  • 最小二乘法拟合直线 python 代码

    我有一个由 X 和 Y 坐标组成的散点图 我想使用直线的最小二乘拟合来获得最佳拟合线 直线最小二乘拟合是指 如果 x 1 y 1 x n y n 是测量数据对 则最佳直线是y A Bx 这是我的Python代码 number of poin
  • python 3 argparse 调用函数

    我想在 python3 中创建一个类似命令行 类似 shell 的界面 Argparse 似乎负责解析和显示帮助 错误消息 根据argparse 的 python3 文档 https docs python org 3 5 library
  • 组和平均 NumPy 矩阵

    假设我有一个任意的 numpy 矩阵 如下所示 arr 6 0 12 0 1 0 7 0 9 0 1 0 8 0 7 0 1 0 4 0 3 0 2 0 6 0 1 0 2 0 2 0 5 0 2 0 9 0 4 0 3 0 2 0 1 0
  • 通用详细视图 ProfileView 必须使用对象 pk 或 slug 调用

    我是 Django 2 0 的新手 在访问我的个人资料页面视图时收到此错误 它适用于像这样的网址path users
  • 张量流和线程

    下面是来自 Tensorflow 网站的简单 mnist 教程 即单层 softmax 我尝试通过多线程训练步骤对其进行扩展 from tensorflow examples tutorials mnist import input dat
  • Python——捕获异常的效率[重复]

    这个问题在这里已经有答案了 可能的重复 Python 常见问题解答 异常有多快 https stackoverflow com questions 8107695 python faq how fast are exceptions 我记得
  • ASP.NET 中获取当前域的最佳方法是什么?

    我想知道在 ASP NET 中获取当前域的最佳方法是什么 例如 http www domainname com subdir http www domainname com subdir 应该产生http www domainname co
  • 在 Linux 上的 Python 中使用受密码保护的 Excel 工作表

    问题很简单 我每周都会收到一堆受密码保护的 Excel 文件 我必须解析它们并使用 Python 将某些部分写入新文件 我得到了文件的密码 当在 Windows 上完成此操作时 处理起来很简单 我只需导入 win32com 并使用 clie
  • 如何使用 Celery 多工作人员启用自动缩放?

    命令celery worker A proj autoscale 10 1 loglevel info启动具有自动缩放功能的工作人员 当创建多个工人时 me mypc projects x celery multi start mywork
  • 使用 WSGI 在 Windows XAMPP 中设置 Python 路径

    我正在 Webfaction 上设置实时服务器的开发版本 在本地计算机上的虚拟 Apache 服务器环境 运行没有任何错误 中运行 Django 应用程序 XP 使用 Python 2 6 运行 XAMPP Lite 我可以提交更改通过 G
  • 将列表中的 None 替换为最左边的非 none 值

    Given a None 1 2 3 None 4 None None I d like a None 1 2 3 3 4 4 4 目前我已经用以下方法强制它 def replaceNoneWithLeftmost val last Non
  • 根据列索引重命名 Dataframe 列

    是否有内置函数可以按索引重命名 pandas 数据框 我以为我知道列标题的名称 但事实证明第二列中有一些十六进制字符 根据我接收数据的方式 我将来可能会在第 2 列中遇到这个问题 因此我无法将这些特定的十六进制字符硬编码到 datafram
  • 根据所选单选按钮启用文本框

    我有一个单选按钮列表 其中列出了不同的业务类别 最后一个选项是Other类别 当用户选择Other类别 我希望能够启用一个文本框 用户可以输入更多信息来解释Other选择 目前 我正在尝试 If rblCategory SelectedIn
  • 在 scipy 中创建新的发行版

    我试图根据我拥有的一些数据创建一个分布 然后从该分布中随机抽取 这是我所拥有的 from scipy import stats import numpy def getDistribution data kernel stats gauss
  • Python:无法使用 os.system() 打开文件

    我正在编写一个使用该应用程序的 Python 脚本pdftk http www pdflabs com tools pdftk the pdf toolkit 几次来执行某些操作 例如 我可以在 Windows 命令行 shell 中使用
  • 跨多个域的 ASP.NET 会话

    是否有合适的 NET 解决方案来在多个域上提供持久服务器会话 即 如果该网站的用户在 www site1 com 下登录 他们也将在 www site2 com 下登录 安全是我们正在开发的程序的一个问题 Thanks 它是否需要在会话中
  • Streamlabs API 405 响应代码

    我正在尝试使用Streamlabs API https dev streamlabs com Streamlabs API 使用 Oauth2 来创建应用程序 因此 首先我将使用我的应用程序的用户发送到一个授权链接 其中包含我的应用程序的客
  • 如何从 nltk 下载器中删除数据/模型?

    我在 python3 NLTK 中安装了一些 NLTK 包 通过nltk download 尝试过它们 但不需要它们 现在想删除它们 我怎样才能删除例如包large grammars来自我的 NLTK 安装 我不想删除完整的 NLTK 安装
  • 在父类中访问子类变量

    我有一个父类和一个继承的子类 我想知道如何访问我的父类中的子类变量 我尝试了这个但失败了 class Parent object def init self print x class Child Parent x 1 x Child Er
  • 如何使用 Python 3 正确显示倒计时日期

    我正在尝试获取将显示的倒计时 基本上就像一个世界末日时钟哈哈 有人可以帮忙吗 import os import sys import time import datetime def timer endTime datetime datet

随机推荐

  • 从另一个线程读取复选框状态

    我正在尝试从 WPF 中的 BackgroundWorker 读取复选框的值 这不起作用 bool isSleepChecked checkBoxSleep Dispatcher Invoke DispatcherPriority Norm
  • 模块的循环依赖

    我想用 F 编写一个解析器 并且由于某些原因我必须使用 Antlr 这意味着我必须定义一个Visitor我想要解析的每个 AST 节点的类 现在我遇到的问题是 存在一些具有循环依赖关系的规则 例如 boolExpr boolTerm or
  • PHP 套接字 - 接受多个连接

    我正在尝试创建一个简单的客户端 服务器应用程序 因此我正在尝试使用 PHP 中的套接字 现在我有一个简单的 C 客户端 可以很好地连接到服务器 但我一次只能将一个客户端连接到该服务器 我在网上找到了这个代码示例 并为了测试目的对其进行了一些
  • 使用 mysql/php 的 INSERT 语句中的 WHERE 子句 [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 经过谷歌搜索后 我才知道 我无法在 INSERT 查询中使用 WHERE 子句 但我想在 Book 4 列中插入一个值 其中 Student
  • 如何从 HTA 在默认 Web 浏览器中打开链接?

    我正在开发一个作为 HTA 实现的应用程序 我有一系列链接 我想在系统的默认网络浏览器中打开它们 使用 a href url target blank 无论默认浏览器如何 都会在 IE 中打开链接 有没有办法使用默认浏览器 使用 JavaS
  • 在客户端检测文件上传大小?

    我正在使用 PHP 进行文件上传 在里面PHP手册 http www php net manual en features file upload post method php它显示了一个使用的示例MAX FILE SIZE隐藏字段 表示
  • 使用单个 Gulp 任务运行 Protractor

    有没有办法在单个任务中使用 Protractor 和 Gulp 运行 e2e 测试 现在 为了运行 e2e 测试 我必须打开 3 个单独的 shell 并运行以下命令 webdriver manager update webdriver m
  • 我们可以在 Android 表单中为 Android 组件使用 CSS 吗?

    无论如何 有没有办法为 android 控件使用 css 我们可以为类似的控件创建类吗 谢谢 阿蒂夫 为什么要为 Android 视图定义 CSS 首先让我知道这个问题的答案 否则我想告诉你 你可以在样式 xml http develope
  • 如何在java中将stdin和stdout重定向到文本文件

    如何重定向 stdin 和 stdout 以将数据作为文本文件的输入并将数据作为输出传递到另一个文本文件 我的输入和输出文件如下所示 输入文件 txt 1 2 3 输出应该是输入文件中数字的总和 输出文件 txt 6 您可以设置System
  • 如何从VBA中的选项卡上的控件获取值?

    在选项卡条的不同选项卡中 我有每个选项卡中不同的输入值 我需要编写一个代码来获取所有这些值并执行一些工作 例如在单击按钮时汇总每个选项卡的值 谁能帮我做这个吗 在我的代码中 当我在一个选项卡的文本框中输入值时 它也会更改所有其他选项卡的值
  • 如何在 Zapier 触发器中 JSON.parse 数组?

    我正在尝试 JSON parse 数组 data 我需要能够将数组作为根传递 data type name id 123 响应应该看起来像这样只包含对象 Zapier 似乎不太适合数组 type name id 123 我不应该能够使用一个
  • 水豚的多次会话

    背景 我想在我的网络应用程序上测试以多个用户身份登录 并且我正在使用黄瓜和水豚来执行此操作 我发现这个链接 https tristandunn com 2010 10 21 multiple sessions cucumber seleni
  • mysql oledb 驱动程序

    如何在本地系统中安装 mysql oledb 驱动程序 请给出Mysql oledb连接字符串 Provider OleMySql MySqlSource 1
  • 如何使用 javascript 以 Excel 文件格式导出表单

    下面是我的桌子
  • Android:具有自定义行视图的可扩展导航抽屉

    我正在尝试制作一个带有可扩展元素的导航抽屉菜单 如下所示 gt http goo gl SkMU8N http goo gl SkMU8N 我不知道 所以我开始做这样的事情 不是我的 https github com PrashamTriv
  • 类型推断会干扰引用透明度

    Haskell 语言在引用透明度方面提供的精确承诺 保证是什么 至少哈斯克尔报告没有提到这个概念 考虑表达式 7 7 7 mod 5 mod 2 我想知道这个表达式是否为 1 为了我的安全 我会执行两次 7 7 7 mod 5 mod 2
  • 什么是 ?: 运算符

    在 Objective C 代码的示例中我发现了这个运算符 self itemViews 0 self dataSource slidingViewStack self viewForItemAtIndex 0 reusingView se
  • 使用“[[0]*x]*y”在Python中初始化矩阵会创建链接行吗?

    初始化一个矩阵似乎链接了行 这样当一行更改时 它们都会更改 gt gt gt grid 0 5 5 gt gt gt grid 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 gt gt
  • jQuery.param() - 不序列化 javascript Date 对象?

    jQuery param foo 1 gt foo 1 SUCCESS jQuery param bar new Date gt OUCH encodeURIComponent new Date 没有问题 这就是我认为 param 为每个成
  • 如何处理 ASP.net 的神秘隐藏值? (__VIEWSTATE)

    当您尝试使用 Python 请求 POST 页面时 我试图弄清楚如何处理神秘的 VIEWSTATE 和 Cie 它是我的脚本中许多问题的主要根源 并且我意识到 当我寻找答案 解决方案时 您没有那么多的解决方案 几乎为 0 在本主题中 无法使