PHP_CURL之模拟POST登陆

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

  1. <?php  
  2. header('Content-type:text/html;Charset=utf-8');  
  3. $user = 'lee';       //登陆用户名  
  4. $pass = '123456';    //登陆密码  
  5. $va_url = 'http://localhost/validate.php';            //验证的 url 链接地址  
  6. $post_fields = "loginname={$user}&loginpass={$pass}"//post提交信息串  
  7. $curl = curl_init(); //初始化一个cURL会话,必有  
  8. //curl_setopt()函数用于设置 curl 的参数,其功能非常强大,具体看手册  
  9. curl_setopt($curl, CURLOPT_URL, $va_url);      //设置验证登陆的 url 链接  
  10. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 0); //设置结果保存在变量中,还是输出,默认为0(输出)  
  11. curl_setopt($curl, CURLOPT_POST, 1);           //模拟post提交  
  12. curl_setopt($curl, CURLOPT_POSTFIELDS, $post_fields); //设置post串  
  13. $data = curl_exec($curl);  //执行此cURL会话,必有  
  14. //检查是否有错误  
  15. if(curl_errno($curl)) {  
  16.     exit('Curl error: ' . curl_error($curl));  
  17. }  
  18. curl_close($curl);         //关闭会话  


validate.php
  1. <?php  
  2. header('Content-Type:text/html;Charset=utf-8');  
  3. if ($_POST['loginname'] == 'lee' && $_POST['loginpass'] == '123456') {  
  4.     echo '<script>alert("登陆成功!");</script>';  
  5. else {  
  6.     echo '<script>alert("登陆失败!");</script>';  
  7. }  

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值