Inhaltsverzeichnis
回复内容:
Heim Backend-Entwicklung PHP-Tutorial PHP 使用curl抓取启用了viewstate的网站问题

PHP 使用curl抓取启用了viewstate的网站问题

Jun 06, 2016 pm 08:24 PM
php

请问此类网站抓取内容时,和没开启viewstate有何区别?
现在是不清楚抓取开启viewstate的网站的正确步骤,请大神指导

回复内容:

请问此类网站抓取内容时,和没开启viewstate有何区别?
现在是不清楚抓取开启viewstate的网站的正确步骤,请大神指导

正好做过这个,我来说说我的解决办法。

首先,你需要明白你要做什么,告诉服务器你的身份,许多ASP.NET都会有_viewstate这个超长的字符串。它在服务器端会进行验证.那么,你在构造request的时候,必须获得这个viewstate。其实很简单:
1 首先请求url,保存cookie,此时你能拿到这个page的data,用正则匹配到hidden的viewstate保存。
2 携带cookie请求验证码(如果有),拿到后解析验证码(人工或者机器识别)
3 携带cookie和登陆凭据模拟登陆

记住一点,viewstate是对同一个cookie有效的,也就是说,你如果在网页打开,copy下来那个字符串的,它将仍旧无法工作,除非你连同cookie都copy下来。

需要注意的是,有些参数是js自动生成的,譬如我遇到的,讲验证码用某个js加密后,作为一个hidden,你在普通的抓取回来的page里面,无法看到,这时候,你得自己实现这个加密过程。保证在同一个cookie的环境下,把服务器需要的所有数据全部提供就可以成功!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

CakePHP Datum und Uhrzeit CakePHP Datum und Uhrzeit Sep 10, 2024 pm 05:27 PM

CakePHP Datum und Uhrzeit

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian

CakePHP-Datei hochladen CakePHP-Datei hochladen Sep 10, 2024 pm 05:27 PM

CakePHP-Datei hochladen

CakePHP-Routing CakePHP-Routing Sep 10, 2024 pm 05:25 PM

CakePHP-Routing

Besprechen Sie CakePHP Besprechen Sie CakePHP Sep 10, 2024 pm 05:28 PM

Besprechen Sie CakePHP

CakePHP-Projektkonfiguration CakePHP-Projektkonfiguration Sep 10, 2024 pm 05:25 PM

CakePHP-Projektkonfiguration

CakePHP-Kurzanleitung CakePHP-Kurzanleitung Sep 10, 2024 pm 05:27 PM

CakePHP-Kurzanleitung

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein

See all articles