Heim Backend-Entwicklung PHP-Tutorial 用php实现正方教务系统的模拟登陆

用php实现正方教务系统的模拟登陆

Jul 29, 2016 am 08:56 AM
curl quot

第一次用php实现模拟登陆真的是弄了好久,还挺好玩的就是,都是自己一点一点探索的收获还是慢慢的。到现在还有一点没弄明白的就是为什么不用提交验证码信息也能登陆,感觉可能是bug吧!

想要实现模拟登陆,首先要打开浏览器登录你想要模拟登陆的网站然后按F12去找到模拟登陆要提交的数据,像正方还有个隐藏的__VIEWSTATE的变量需要用正则表达式匹配找到这个变量的值,登陆进去了你就会在页面发现你的个人信息并在代码中注意保存你的cookie以便于跳转到另一个想要查询的页面,我的代码就是查询成绩的方法,有兴趣的可以与我交流一起探讨!

<span style="font-size:14px;"><?php $url = "http://jw.jxust.edu.cn"; 
	$username = &#39;&#39;; //设置自己的账号
	$password = &#39;&#39;; // 设置自己的密码
	$ch1 = curl_init();
	curl_setopt($ch1, CURLOPT_URL, $url);
	curl_setopt($ch1, CURLOPT_RETURNTRANSFER, 1);
	$data = curl_exec($ch1);
	curl_close($ch1);
	$pattern = &#39;/<input type="hidden" name="__VIEWSTATE" value="(.*)"/&#39;; //正则表达式匹配__VIEWSTATE
	preg_match_all($pattern, $data, $matches);
	$result = $matches[1][0];
	//print_r($result);
	$post1 = array(                     //必要的提交信息
		&#39;__VIEWSTATE&#39; => $result,
		'txtUserName' => $username,
		'TextBox2' => $password,
		'RadioButtonList1' => iconv('utf-8', 'gb2312', '学生'),
		'Button1' => ''
	);
	$filecookie = dirname(__FILE__)."/cookie";  
	$ch2 = curl_init();
	curl_setopt($ch2, CURLOPT_URL, $url);
	curl_setopt($ch2, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($ch2, CURLOPT_FOLLOWLOCATION, 1);
	curl_setopt($ch2, CURLOPT_POST, 1);
	curl_setopt($ch2, CURLOPT_POSTFIELDS, http_build_query($post1));
	curl_setopt($ch2, CURLOPT_COOKIEJAR, $filecookie);    //保存登陆的cookie信息到filecookie文件中
	curl_exec($ch2);
	curl_close($ch2);

	//模拟登录成绩页面获取__VIEWSTATE
	$ch3 = curl_init();
	curl_setopt($ch3, CURLOPT_URL, "http://jw.jxust.edu.cn/xscj_gc.aspx?xh=$username&gnmkdm=N121605");
	curl_setopt($ch3, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($ch3, CURLOPT_COOKIEFILE, $filecookie);
	curl_setopt($ch3, CURLOPT_REFERER, "http://jw.jxust.edu.cn");
	$data = curl_exec($ch3);
	curl_close($ch3);
	$pattern = '/<input type="hidden" name="__VIEWSTATE" value="(.*)" preg_match_all curl_init curl_setopt curlopt_url array> $cj__VIEWSTATE,
		'ddlXN' => '',
		'ddlXQ' => '', 
		'Button1' => iconv('utf-8', 'gb2312', '按学期查询') 
	);
	curl_setopt($ch4, CURLOPT_RETURNTRANSFER, 0);
	curl_setopt($ch4, CURLOPT_FOLLOWLOCATION, 1);
	curl_setopt($ch4, CURLOPT_COOKIEFILE, $filecookie);
	curl_setopt($ch4, CURLOPT_POST, 1);
	curl_setopt($ch4, CURLOPT_POSTFIELDS, $post2);
	curl_setopt($ch4, CURLOPT_REFERER, "http://jw.jxust.edu.cn");
	$data = curl_exec($ch4);
	//preg_match_all($pattern, $data, $matches);
	curl_close($ch4);
?></span>
Nach dem Login kopieren

以上就介绍了用php实现正方教务系统的模拟登陆,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

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 KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

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)

So realisieren Sie die gegenseitige Konvertierung zwischen CURL- und Python-Anfragen in Python So realisieren Sie die gegenseitige Konvertierung zwischen CURL- und Python-Anfragen in Python May 03, 2023 pm 12:49 PM

Sowohl Curl als auch Pythonrequests sind leistungsstarke Tools zum Senden von HTTP-Anfragen. Während Curl ein Befehlszeilentool ist, mit dem Sie Anfragen direkt vom Terminal aus senden können, bietet die Requests-Bibliothek von Python eine eher programmatische Möglichkeit, Anfragen aus Python-Code zu senden. Die grundlegende Syntax zum Konvertieren des Curl-Befehls in den Pythonrequestscurl-Befehl lautet wie folgt: curl[OPTIONS]URL Beim Konvertieren des Curl-Befehls in eine Python-Anfrage müssen wir die Optionen und die URL in Python-Code konvertieren. Hier ist ein Beispiel für einen CurlPOST-Befehl: curl-XPOST https://example.com/api

Tutorial zum Aktualisieren der Curl-Version unter Linux! Tutorial zum Aktualisieren der Curl-Version unter Linux! Mar 07, 2024 am 08:30 AM

Um die Curl-Version unter Linux zu aktualisieren, können Sie die folgenden Schritte ausführen: Überprüfen Sie die aktuelle Curl-Version: Zunächst müssen Sie die im aktuellen System installierte Curl-Version ermitteln. Öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus: curl --version Dieser Befehl zeigt die aktuellen Informationen zur Curl-Version an. Verfügbare Curl-Version bestätigen: Bevor Sie Curl aktualisieren, müssen Sie die neueste verfügbare Version bestätigen. Sie können die offizielle Website von Curl (curl.haxx.se) oder verwandte Softwarequellen besuchen, um die neueste Version von Curl zu finden. Laden Sie den Curl-Quellcode herunter: Laden Sie mit Curl oder einem Browser die Quellcodedatei für die Curl-Version Ihrer Wahl herunter (normalerweise .tar.gz oder .tar.bz2).

Von Anfang bis Ende: So verwenden Sie die PHP-Erweiterung cURL, um HTTP-Anfragen zu stellen Von Anfang bis Ende: So verwenden Sie die PHP-Erweiterung cURL, um HTTP-Anfragen zu stellen Jul 29, 2023 pm 05:07 PM

Von Anfang bis Ende: So verwenden Sie die PHP-Erweiterung cURL für HTTP-Anfragen. Einführung: Bei der Webentwicklung ist es häufig erforderlich, mit APIs von Drittanbietern oder anderen Remote-Servern zu kommunizieren. Die Verwendung von cURL zum Senden von HTTP-Anfragen ist eine gängige und leistungsstarke Methode. In diesem Artikel wird erläutert, wie Sie mit PHP cURL erweitern, um HTTP-Anfragen auszuführen, und einige praktische Codebeispiele bereitstellen. 1. Vorbereitung Stellen Sie zunächst sicher, dass PHP die cURL-Erweiterung installiert hat. Zur Überprüfung können Sie php-m|grepcurl in der Befehlszeile ausführen

PHP8.1 veröffentlicht: Einführung von Curl für die gleichzeitige Verarbeitung mehrerer Anfragen PHP8.1 veröffentlicht: Einführung von Curl für die gleichzeitige Verarbeitung mehrerer Anfragen Jul 08, 2023 pm 09:13 PM

PHP8.1 veröffentlicht: Einführung von Curl für die gleichzeitige Verarbeitung mehrerer Anfragen Vor kurzem hat PHP offiziell die neueste Version von PHP8.1 veröffentlicht, die eine wichtige Funktion eingeführt hat: Curl für die gleichzeitige Verarbeitung mehrerer Anfragen. Diese neue Funktion bietet Entwicklern eine effizientere und flexiblere Möglichkeit, mehrere HTTP-Anfragen zu verarbeiten und verbessert so die Leistung und das Benutzererlebnis erheblich. In früheren Versionen erforderte die Bearbeitung mehrerer Anfragen häufig die Erstellung mehrerer Curl-Ressourcen und die Verwendung von Schleifen zum Senden bzw. Empfangen von Daten. Obwohl diese Methode den Zweck erreichen kann

Wie gehe ich mit der 301-Umleitung von Webseiten in PHP Curl um? Wie gehe ich mit der 301-Umleitung von Webseiten in PHP Curl um? Mar 08, 2024 am 11:36 AM

Wie gehe ich mit der 301-Umleitung von Webseiten in PHPCurl um? Wenn Sie PHPCurl zum Senden von Netzwerkanfragen verwenden, werden Sie häufig auf den von der Webseite zurückgegebenen Statuscode 301 stoßen, der darauf hinweist, dass die Seite dauerhaft umgeleitet wurde. Um diese Situation richtig zu handhaben, müssen wir der Curl-Anfrage einige spezifische Optionen und Verarbeitungslogik hinzufügen. Im Folgenden wird detailliert beschrieben, wie mit der 301-Umleitung von Webseiten in PHPCurl umgegangen wird, und es werden spezifische Codebeispiele bereitgestellt. 301-Redirect-Verarbeitungsprinzip 301-Redirect bedeutet, dass der Server eine 30 zurückgibt

Was ist Linux Curl? Was ist Linux Curl? Apr 20, 2023 pm 05:05 PM

Unter Linux ist Curl ein sehr praktisches Tool zum Übertragen von Daten zum und vom Server. Es verwendet URL-Regeln, um unter der Befehlszeile zu arbeiten, und ist ein umfassendes Übertragungstool. Curl bietet viele sehr nützliche Funktionen, darunter Proxy-Zugriff, Benutzerauthentifizierung, FTP-Upload und -Download, HTTP POST, SSL-Verbindung, Cookie-Unterstützung, Breakpoint-Wiederaufnahme und so weiter.

So setzen Sie Cookies in PHP Curl So setzen Sie Cookies in PHP Curl Sep 26, 2021 am 09:27 AM

So setzen Sie Cookies in PHP Curl: 1. Erstellen Sie eine PHP-Beispieldatei. 2. Legen Sie cURL-Übertragungsoptionen über die Funktion „curl_setopt“ fest. 3. Übergeben Sie Cookies in CURL.

Lösung für PHP Schwerwiegender Fehler: Aufruf der undefinierten Funktion „curl_setopt()' Lösung für PHP Schwerwiegender Fehler: Aufruf der undefinierten Funktion „curl_setopt()' Jun 23, 2023 am 08:18 AM

PHP ist eine weit verbreitete Open-Source-Skriptsprache, die von vielen Websites verwendet wird. Manchmal kann jedoch das Problem PHPFatalerror:Calltoundefinedfunctioncurl_setopt() auftreten, das dazu führen kann, dass Ihre Website nicht ordnungsgemäß funktioniert. Was genau verursacht dieses Problem? In PHP ist curl_setopt() eine sehr wichtige Funktion, die zum Erweitern der Bibliothek durch Curl verwendet wird

See all articles