您现在的位置: 网站首页 / 空间服务器 / 正文

PHP扩展CURL的用法详解

作者: admin 发布: 2015-6-19 9:22:40 分类: 空间服务器 阅读: 次 查看评论

  CURL是利用URL语法爱命令行方式下工作的文件传输工具。它支持很多协议。它支持认证功能。php中常用都实现更复杂的传输功能。

  实现的功能:

  1、实现远程获取和采集内容

  2、实现PHP 网页版的FTP上传下载

  3、实现模拟登陆:去一个邮件系统,curl可以模拟cookies

  4、实现接口对接(API),数据传输等:通过一个平台发送短信啊,抓取和传递所传输的信息。

  5、实现模拟Cookie等:登陆的状态下才可以操作一些属性。

  如何使用CURL功能:

  默认情况加PHP是不支持CURL的,需要在php.ini中开启该功能

  ;extension=php_curl.dll前面的分号去掉

  1 整个操作过程中第一步是用cur_init()函数进行初始化

  $curl = curl_init(‘www.jb51.net')

  2.用curl_setopt()函数进行设置选项。

  3.设置后,进行执行事务 curl_exec($curl);

  4 最后关闭curl_close();

  使用PHP CURL实现传输和获取功能(post传输方式):获取远程网页数据

  $user = "admin";

  $pass = "admin";

  $curlPost = "user=$user&pass=$pass";

  $ch = curl_init(); //初始化一个CURL对象

  curl_setopt($ch, CURLOPT_URL, "http://localhost/edu/login.php");

  //设置你所需要抓取的URL

  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);

  //设置curl参数,要求结果是否输出到屏幕上,为true的时候是不返回到网页中

  假设上面的0换成1的话,那么接下来的$data就需要echo一下。

  curl_setopt($ch, CURLOPT_POST, 1);

  //post提交

  curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);

  $data = curl_exec($ch);

  //运行curl,请求网页。

  curl_close($ch);

  [/code]

  实现远程模拟登陆最基础部分。

  curl也还是需要配置用户名和密码的,只不过是被浏览器隐藏了。

  ============================================================================

  curl模拟登陆

  模拟登陆:就是不登陆到php100的论坛,也能查看到相应的信息。

  分析登陆字段--->登陆后保留cookie状-->读取cookie并跳转到相关页-->抓取数

  1、模拟登陆后创建一个文件保存cookie内容

  2、通过读取生成的cookie内容模拟用户登陆状态

  3、到相关页面获取所需内容

  tempname创建一个临时文件

  tempnam() 函数创建一个具有唯一文件名的临时文件。 若成功,则该函数返回新的临时文件名。若失败,则返回 false。

  tempnam(dir,prefix)

  参数 描述

  dir 必需。规定创建临时文件的目录。

  prefix 必需。规定文件名的开头。

  相当于,fopen fwirte fclose

  它可以返回一个布尔值。使用第三方来登陆你的QQ、msn是很危险的,因为它可以记录你的登录状态,抓取你的用户名和密码。

  使用CURL模拟登陆到PHP100论坛

  1、分析登陆所需input框字段名和所需字段数量

  2、保存cookie 模拟登陆后获取会员金币数量

  代码:

  //初始化一个 cURL 对象

  $curl = curl_init();

  //设置你需要抓取的URL

  curl_setopt($curl, CURLOPT_URL, " http://www.baidu.com ");

  //设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。

  curl_setopt($curl, CURLOPT_RETURNTRANSFER, 0);

  //运行cURL,请求网页

  $data = curl_exec($curl);

  //关闭URL请求

  curl_close($curl);

  $user = "admin";

  $pass = "admin100";

  $curlPost = "user=$user&pass=$pass";

  $ch = curl_init();

  curl_setopt($ch, CURLOPT_URL, " http://localhost/curl/login.php ");

  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);

  curl_setopt($ch, CURLOPT_POST, 1);

  curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);

  $data = curl_exec($ch);

  curl_close($ch);

  ?>

  if($_POST['user']=="admin"){

  echo "";

  }else{

  echo "";

  }

  //print_r($_POST);

  ?>

  来源:SEO自学网 转载注明出处!

« 上一篇下一篇 »   本文关键词: PHP  



评论列表:

站长SEO学院
第一节:百度搜索引擎工作原理
第二节:建设对搜索引擎友好的站点
第三节:如何进行网站内容建设
第四节:整体优化、结构优化、网页优化
第五节:移动搜索-明确移动搜索优化标准
百度SEO资料文档
百度搜索引擎优化指南2.0
百度移动搜索优化指南2.0
网站分析白皮书(站长版)
移动站点该如何优化
建设对百度友好的站点
百度搜索引擎网页质量白皮书
石榴算法-绿萝算法-冰桶算法
新搜索时代下的优化策略
更多百度SEO资料文档
站长推荐
DIV+CSS布局实例教程-Web标准
网站SEO优化常见问题汇总
SEO优化推广方案该如何写
SEO优化方案步骤
影响网站关键词排名因素总结
影响谷歌搜索引擎排名的因素调查
手机移动端站点适配优化
最近发表
网站收藏