>  기사  >  백엔드 개발  >  PHP 기본 9: 컬을 통한 프로그래밍

PHP 기본 9: 컬을 통한 프로그래밍

不言
不言원래의
2018-04-23 10:00:391458검색

이 글은 컬을 통한 아홉 번째 기본 PHP 프로그램을 소개합니다. 이제 여러분과 공유합니다. 도움이 필요한 친구들이 참고할 수 있습니다.

<!-- 第十五章 通过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 기본 7-php 작업 데이터베이스

php 기본 6-오류 처리

위 내용은 PHP 기본 9: 컬을 통한 프로그래밍의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.