zoukankan      html  css  js  c++  java
  • curl发起网络请求

    curl发起网络请求

    主体函数:

    <?php
    /**
     * 发起网络请求
     * @param string $url
     * @param $data
     * @param array $header
     * @return bool|string
     */
    function http_request(string $url, $data = [], array $header = []) {
        $ret = '';
        // 1、初始化
        $ch = curl_init();
        // 2、相关配置
        # 设置请求的URL地址
        curl_setopt($ch, CURLOPT_URL, $url);
        # 设置一下执行成功后不直接返回到客户端
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        # 设置超时时间  单位是秒
        curl_setopt($ch, CURLOPT_TIMEOUT, 30);
        # 不进行证书的检测
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
        # 伪造一个请求的浏览器型号
        curl_setopt($ch, CURLOPT_USERAGENT, 'msie');
    
        // 表示有请求体,是POST的提交
        if (!empty($data)) {
            # 指明是一个POST请求
            curl_setopt($ch, CURLOPT_POST, 1);
            curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
            if (is_string($data)) {
                # 设置头信息,告诉接受者我们发送的数据类型
                curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
            }
        }
        // 3、执行
        $ret = curl_exec($ch);
        # 请求的错误码 为0表示请求正确,大于0则表求请求失败的
        if (curl_errno($ch) > 0) {
            echo curl_error($ch);
            exit;
        }
        // 4、关闭请求资源
        curl_close($ch);
        return $ret;
    }

    调用函数:

    <?php
    //推荐使用curl
    //引入curl的自定义函数
    include __DIR__.'/function.php';
    
    $url = '*********************';
    
    $html = http_request($url);
    
    //正则表达式匹配 video
    
    //修饰符
    //i 不区分大小写 U 禁止贪婪 s忽略换行
    
    $preg = '#<a title="(.*)"></a>#is';
    
    preg_match_all($preg,$html,$arr);
    
    print_r($arr);
  • 相关阅读:
    【消息队列MQ】各类MQ比较
    MySql查询功能梳理
    头条日常实习生面经 2018.11.28
    排序算法 JavaScript
    浅谈二分查找 JavaScript
    LeetCode17.电话号码的字母组合 JavaScript
    LeetCode16.最接近的三数之和 JavaScript
    LeetCode15.三数之和 JavaScript
    LeetCode14.最长公共前缀 JavaScript
    LeetCode13.罗马数字转整数 JavaScript
  • 原文地址:https://www.cnblogs.com/zqblog1314/p/13322999.html
Copyright © 2011-2022 走看看