Home  >  Article  >  Backend Development  >  PHP basics 9: Programming through curl

PHP basics 9: Programming through curl

不言
不言Original
2018-04-23 10:00:391451browse

The content of this article is about the nine basic PHP programs through curl. It has a certain reference value. Now I share it with you. Friends in need can refer to it.

<!-- 第十五章 通过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;
    }
?>

Related recommendations:

php basic eight session management and control

php basic seven php operation database

php basic six Error handling


The above is the detailed content of PHP basics 9: Programming through curl. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn