> 백엔드 개발 > PHP 튜토리얼 > PHP_CURL1之模拟POST登陆_PHP教程

PHP_CURL1之模拟POST登陆_PHP教程

WBOY
풀어 주다: 2016-07-13 10:37:13
원래의
1100명이 탐색했습니다.

CURL简介:

CURL允许你与各种的服务器使用各种类型的协议进行连接和通讯,目前支持的协议包括:http、https、ftp、gopher、telnet、dict、file、ldap,同时也支持HTTPS认证、HTTP POST、HTTP PUT、 FTP 上传(这个也能通过PHP的FTP扩展完成)、HTTP 基于表单的上传、代理、cookies和用户名+密码的认证。(摘自手册)

总之 CURL 功能非常强大,能实现很多 file_get_contents 函数所不能实现的功能。

原理性的东西不再赘述,这里代码来说话。

CURL模拟登陆:

首先,在你的项目中建立两个文件,login.php(提交登陆)、validate.php(验证),代码清单:

login.php

<?php
header('Content-type:text/html;Charset=utf-8');
$user = 'lee';       //登陆用户名
$pass = '123456';    //登陆密码
$va_url = 'http://localhost/validate.php';            //验证的 url 链接地址
$post_fields = "loginname={$user}&loginpass={$pass}"; //post提交信息串
$curl = curl_init(); //初始化一个cURL会话,必有
//curl_setopt()函数用于设置 curl 的参数,其功能非常强大,具体看手册
curl_setopt($curl, CURLOPT_URL, $va_url);      //设置验证登陆的 url 链接
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 0); //设置结果保存在变量中,还是输出,默认为0(输出)
curl_setopt($curl, CURLOPT_POST, 1);           //模拟post提交
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_fields); //设置post串
$data = curl_exec($curl);  //执行此cURL会话,必有
curl_close($curl);         //关闭会话
로그인 후 복사
validate.php

<?php
header('Content-Type:text/html;Charset=utf-8');
if ($_POST['loginname'] == 'lee' && $_POST['loginpass'] == '123456') {
    echo '<script>alert("登陆成功!");</script>';
} else {
    echo '<script>alert("登陆失败!");</script>';
}
로그인 후 복사

登陆成功,JS 弹出“登陆成功”;登陆失败,JS弹出“登陆失败”。

注:原创文章,转载请注明出处:http://blog.csdn.net/liruxing1715/article/details/18551621

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/735907.htmlTechArticleCURL简介: CURL允许你与各种的服务器使用各种类型的协议进行连接和通讯,目前支持的协议包括:http、https、ftp、gopher、telnet、dict、file、...
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿