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);
  • 相关阅读:
    AWS生产环境Pod挂载不了configmap、secret
    Ant学习
    Springframework3.1源码编译
    MyEclipse10 中增加svn插件
    如何测试java支持的最大内存
    Tomcat中部署后JspFactory报异常的解决方案
    win7x64下安装oraclex64版本后,plsql Developer无法登录的问题
    CentOS6.4安装及配置oracle
    VMWare安装redhat9后上网的的问题
    泛海精灵项目的回顾与反思
  • 原文地址:https://www.cnblogs.com/zqblog1314/p/13322999.html
Copyright © 2011-2022 走看看