首頁  >  文章  >  後端開發  >  php基礎九之透過curl來做程序

php基礎九之透過curl來做程序

不言
不言原創
2018-04-23 10:00:391451瀏覽

這篇文章介紹的內容是關於php基礎九之透過curl來做程序,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

<!-- 第十五章 通过cURL来做小偷程序 -->
<?php
  //如何请求微信、地图等第三方API呢?
  //这个时候就需要使用到——cURL。cURL中文翻译过来叫做基于URL的函数库。
  //它的主要功能是:使用相关的函数模拟协议请求。
  //例如:
  //1.模拟表单向某个地址发送数据
  //2.在无验证码的情况下模拟表单完成用户登录
  //3.上传某个文件到远程服务器
  //4.请求远程服务器提供的某些功能

  //curl支持dict,file,ftp,ftps,gopher,http,https,imap,imaps,idap,idaps,
  //pop3,pop3s,rtmp,rtsp,smtp,smtps,teInet和tftp协议。
  //curl同时也支持HTTPS认证、HTTP的POST、HTT和PPUT、FTP上传(这个
  //也能通过PHP的FTP扩展完成)、HTTP基于表单的上传、代理、cookies和用户名+密码的认证。
?>

<!-- curl使用方法和步骤 -->
<?php
//1.初始化curl资源
//2.参数设置请求的协议地址
//3.设置是否返回请求结果
//4.设置发送数据(无发送数据可不设置)
//5.其他的参数信息设置(按实际工作需要决定)
//6.执行或执行得到返回结果
//7.关闭curl资源
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "http://www.php.cn");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    $output = curl_exec($ch);
    curl_close($ch);
    print_r($output);
?>

<!-- curl 自定义get方法抓取网页 -->
<?php
    $content = get(&#39;http://www.xmtnews.com/events&#39;);
    preg_match(&#39;/<section class="ov">(.*?)<p class="hr-10"><\/p>/mis&#39;, $content,$match);
    $area = $match[1];
    preg_match_all(&#39;/<h3><a href="(.*?)" title=".*?" 
        class="headers" target="_blank">(.*?)<\/a><\/h3/>&#39;, $area, $find);
    var_dump($find);
    function get($find){
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_TIMEOUT, 10);
        $output = curl_exec($ch);
        curl_close($ch);
    }
?>

<!-- curl使用post发送数据 -->
<?php
    function post($url, $data){
        //初始化init方法
        $ch = curl_init();
        //指定URL
        curl_setopt($ch, CURLOPT_URL, $url);
        //设置请求后返回结果
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        //声明使用POST方式来发送
        curl_setopt($ch, CURLOPT_POST, 1);
        //发送什么数据呢
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
        //忽略证书
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
        //忽略header头信息
        curl_setopt($ch, CURLOPT_HEADER, 0);
        //设置超时时间
        curl_setopt($ch, CURLOPT_TIMEOUT, 10);
        //发送请求
        $output = curl_exec($ch);
        //关闭curl
        curl_close($ch);
        //返回数据
        return $output;
    }
?>

相關推薦:

php基礎八之會話管理與控制

php基礎七之php操作資料庫

php基礎六之錯誤處理


以上是php基礎九之透過curl來做程序的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn