This article describes how PHP uses CURL to simulate login. The idea is different from that of other simulated login programs. If you need it, you can view it in detail.
This article describes how PHP uses CURL to simulate login. The idea is different from that of other simulated login programs. If you need it, you can view it in detail.
Many simulated login programs on the Internet are mostly run through service programs such as apache. After obtaining the verification code, they are displayed on the webpage and then filled in and POST the code. Although it looks good, however, since simulated logon does not necessarily take a short time to complete the tasks after logon, this is subject to the maximum execution time of php, and some operations may have insufficient permissions.
This article provides a program example. The idea is to store the verification code as an image after obtaining the verification code, and then the program sleeps for 20 seconds. After 20 seconds, you can manually view the image, enter the verification code in the code.txt file, and the program will read the verification code of code.txt after 20 seconds of sleep. Then, the program will log on with the verification code. The Code is as follows:
/*** Simulate logon * // initialization variable $ cookie_file = "tmp. cookie"; $ login_url =" http://xxx.com/logon.php "; $ Verify_code_url =" http://xxx.com/verifyCode.php "; Echo" obtaining COOKIE... \ n "; $ curlj = curl_init (); $ timeout = 5; curl_setopt ($ curl, CURLOPT_URL, $ login_url); curl_setopt ($ curl, CURLOPT_RETURNTRANSFER, 1 ); curl_setopt ($ curl, CURLOPT_CONNECTTIMEOUT, $ timeout); curl_setopt ($ curl, CURLOPT_COOKIEJAR, $ cookie_file); // obtain the COOKIE and store $ contents = curl_exec ($ curl ); curl_close ($ curl); echo "the COOKIE is obtained. The verification code is being obtained... \ n "; // retrieve the verification code $ curl = curl_init (); curl_setopt ($ curl, CURLOPT_URL, $ Verify_code_url); curl_setopt ($ curl, CURLOPT_COOKIEFILE, $ cookie_file); curl_setopt ($ curl, CURLOPT_HEADER, 0); curl_setopt ($ curl, expires, 1 ); $ img = curl_exec ($ curl); curl_close ($ curl); $ fp = fopen ("verifyCode.jpg", "w"); fwrite ($ fp, $ img ); fclose ($ fp); echo "Verification code is obtained and completed, waiting for sleep, please fill the verification code into code.txt within 20 seconds and save \ n"; // stop running for 20 seconds sleep (20); echo "sleep complete, start to get the verification code... \ n "; $ code = file_get_contents (" code.txt "); echo" Verification code obtained successfully Output: $ code \ n "; echo" Preparing to simulate logon... \ n "; $ post =" username = maben & pwd = hahahaha & verifycode = $ code "; $ curl = curl_init (); curl_setopt ($ curl, CURLOPT_URL, $ url ); curl_setopt ($ curl, CURLOPT_HEADER, false); curl_setopt ($ curl, expires, 1); curl_setopt ($ curl, CURLOPT_POSTFIELDS, $ post); curl_setopt ($ curl, CURLOPT_COOKIEFILE, $ cookie_file); $ result = curl_exec ($ curl); curl_close ($ curl); // This part is determined by the data on the website obtained from the packet capture. F (substr_count ($ result, "Logon successful") {echo "Logon successful \ n" ;}else {echo "Logon Failed \ n"; exit ;}// OK, start with what you want to do .....
The above is all the content of this article. I hope you will like it.