Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php基础九之通过curl来做程序

php基础九之通过curl来做程序

不言
不言asal
2018-04-23 10:00:391451semak imbas

这篇文章介绍的内容是关于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基础六之错误处理


Atas ialah kandungan terperinci php基础九之通过curl来做程序. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:php基础八之会话管理和控制Artikel seterusnya:用PDO操作MySQL数据库