ホームページ  >  記事  >  バックエンド開発  >  PHP はフォームポストリクエストをシミュレートしてログインを実装します

PHP はフォームポストリクエストをシミュレートしてログインを実装します

WBOY
WBOYオリジナル
2016-08-08 09:19:42949ブラウズ

このプロジェクトでは、フォームの送信を必要としないプログラムを作成する必要がありました。多くの情報を確認し、最終的に CURL を使用して送信後のシミュレーションを行いました。サンプル プログラムは次のとおりです。

<?php
	header("Content-type:text/html;charset=utf-8");
	
	$stuid = "201300301013";
	$pwd = "111336";
	$uri = "127.0.0.1/login.php";//这里换成你服务器的地址
	// 参数数组
 	$data = array (
			&#39;stuid&#39; => $stuid,
 			'pwd' => $pwd			
 	);
	
	$ch = curl_init ();  //初始化curl
	
	curl_setopt ( $ch, CURLOPT_URL, $uri );
	curl_setopt ( $ch, CURLOPT_POST, 1 );  //使用post请求
	curl_setopt ( $ch, CURLOPT_HEADER, 0 );
	curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
	curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data);  //提交数据
	curl_setopt ( $ch, CURLOPT_FOLLOWLOCATION, true);  //重定向地址也输出
	$return = curl_exec ( $ch ); //得到返回值
	
	curl_close ( $ch );  //关闭
	
	print_r($return);  //输出返回值

?>
login.php

<?php
      $user = $_POST[&#39;stuid&#39;];
      $pwd = $_POST[&#39;pwd&#39;];
     &#160;
     /*
          这里对得到的数据进行处理
     */
      
      echo "成功!";  //最后输出结果

?>
ブラウザは「success」を出力します。

これは単なる例にすぎません。curl には多くのことがあり、まだ研究する必要があります。 PHP のcurl を使用してクローラを作成する場合、その仕組みはあまり良くないため、Java を使用してクローラ プログラムを実装することをお勧めします。


私自身の経験ですので、ご参考までに!

著作権声明: この記事はブロガーによるオリジナルの記事であり、ブロガーの許可なく複製することはできません。

上記は、ログインを実現するための PHP シミュレーション フォームのポスト リクエストを、関連する内容も含めて紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。