当前位置:首页 > PHP教程 > 正文内容

关于PHP的curl功能扩展基本用法_php教程,PHP

搜教程4年前 (2020-04-01)PHP教程166

PHP在页面中原样输出HTML代码的方法介绍_php教程

本篇文章给大家介绍一下PHP在页面中原样输出HTML代码的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

PHP的curl功能提供了很多函数,需要将这些函数按特定的步骤组合到一起,我们先来了解下PHP建立curl请求的基本步骤。

$ch = curl_init(); // 创建一个新的CURL资源赋给变量$ch
curl_setopt($ch, CURLOPT_URL, $url); // 设置URL
$response = curl_exec($ch); // 执行,获取URL并输出到浏览器
curl_close($ch); // 释放资源

如果我们希望获取内容但不输出,可以使用 CURLOPT_RETURNTRANSFER 参数,并设置其值为非0或者true值。

代码如下:

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

我们可以通设置函数curl_setopt()的不同参数,可以获得不同的结果,这也是CURL扩展的强大之处。curl_setopt()函数的常用参数选项具体可查阅官方文档,此处就不列举。

下面是我常用的curl get和post请求的方法:

理解PHP中ob_flush和flush的区别_php教程

本篇文章给大家介绍一下ob_flush和flush的区别。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

get请求:

public function httpGet(string $url = '')
    {
        // 记录请求信息的日志
        // todo
        
        try {
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_HEADER, 0);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($ch, CURLOPT_TIMEOUT, 60);
            //https 请求
            if (strlen($url) > 5 && strtolower(substr($url, 0, 5)) == "https") {
                curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
                curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
            }
            $response = curl_exec($ch);
            $errorCode = curl_errno($ch);
            curl_close($ch);
            if (!empty($errorCode)) {
                // 可记录错误码日志
                return null;
            }
            // 记录返回结果日志
            return $response;
        } catch (\Exception $e) {
            $errorLog = [
                'msg' => $e->getMessage(),
                'trace' => $e->getTraceAsString(),
                'data' => [
                    'url' => $url,
                ]
            ];
            // 记录错误日志
            return null;
        }
    }
```php

POST请求:

public function httpPost(string $url = '', array $data = [])
{
        // 记录请求信息的日志
        // todo
    try {
        $jsonData = json_encode($data);
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_POST, 1);
        curl_setopt($curl, CURLOPT_POSTFIELDS, $jsonData);
        curl_setopt($curl, CURLOPT_HEADER, 0);
        curl_setopt($curl, CURLOPT_TIMEOUT, 60);
        curl_setopt($curl, CURLOPT_HTTPHEADER, [
            'Content-Type: application/json; charset=utf-8',
            'Content-Length:' . strlen($jsonData)
        ]);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        //https 请求
        if (strlen($url) > 5 && strtolower(substr($url, 0, 5)) == "https") {
            curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
            curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
        }
        $result = curl_exec($curl);
        $errorCode = curl_errno($curl);
        curl_close($curl);
        if (!empty($errorCode)) {
            // 可记录错误码日志
            return null;
        }
        // 记录返回结果日志
        return json_decode($result, true);
    } catch (\Exception $e) {
        $errorData = [
            'msg' => $e->getMessage(),
            'trace' => $e->getTraceAsString(),
            'data' => [
                'url' => $url,
                'postData' => $data
            ]
        ];
        // 记录错误日志
        return null;
    }
}

本文系转载,原文地址是:

https://tsmliyun.github.io/php/PHP%E7%9A%84CURL%E5%8A%9F%E8%83%BD%E6%89%A9%E5%B1%95%E5%9F%BA%E6%9C%AC%E7%94%A8%E6%B3%95/

推荐:PHP视频教程

以上就是关于PHP的curl功能扩展基本用法的详细内容,更多请关注ki4网其它相关文章!

了解一下PHP面向对象的相关概念_php教程

本篇文章来给大家谈谈PHP面向对象概念。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

扫描二维码推送至手机访问。

版权声明:本文由搜教程网发布,如需转载请注明出处。

本文链接:https://www.sojiaocheng.cn/17454.html

标签: PHP
分享给朋友:

“关于PHP的curl功能扩展基本用法_php教程,PHP” 的相关文章

npm经常使用指令的总结【php教程】,typescript,php,javascript,node.js

本篇文章给人人带来的内容是关于npm经常使用指令的总结,有肯定的参考价值,有须要的朋侪能够参考一下,愿望对你有所协助。 关于npm的一些东西 .敕令行窗口 - 经常使用的指令: dir 列出当前目次下的一切文件 cd 目次名 进入到指定的目次 md 目次名 建立一个...

feof函数怎样用【php教程】,feof函数

feof函数怎样用【php教程】,feof函数

php feof()函数用于测试文件指针是不是到了文件完毕的位置。 php feof()函数 语法 作用:检测是不是已抵达文件末端 (eof)。 语法: feof(file) 参数: file 必需。规定要搜检的翻开文件。申明:file 参数是一个文件指针。这个文件指针必需有用,...

php basename函数怎样用【php教程】,basename函数

php basename函数怎样用【php教程】,basename函数

php basename()函数返回途径中的文件名部份,其语法是basename(path,suffix),参数path必须,指划定要搜检的途径。 php basename函数怎样用? php basename()函数 语法 作用:返回途径中的文件名部份。 语法: basename...

HBuilder怎样设置PHP环境?【php教程】,HBuilder,PHP环境

HBuilder怎样设置PHP环境?【php教程】,HBuilder,PHP环境

HBuilder怎样设置PHP环境?运转PHP文件?下面本篇文件就来带人人相识一下,愿望对人人有所协助。 HBuilder的代码提醒功用是非常壮大的,用于web前端开辟码代码相对是好助手,用于开辟php文件的话能够不是最好的,然则它自带的"边改边看形式"相对是少有的,但还须要设置一番(...

在PHP中$$标记有什么用?怎样运用?(代码示例)【php教程】,$$符号,php

在PHP中$$标记有什么用?怎样运用?(代码示例)【php教程】,$$符号,php

在PHP中我们常常会运用到$标记,那末人人晓得$$标记吗?下面本篇文章就来带人人相识一下$$标记,引见在PHP中$$标记有什么用,怎样运用,愿望对人人有所协助。 PHP中的$$标记 在PHP中,$var(单美圆)示意一个名为var的一般变量,它存储字符串、整数、浮点等任何值。而$$var...

PHP完成耐烦排序(patience sort)算法【php教程】,PHP,耐心排序,patience sort,算法

PHP完成耐烦排序(patience sort)算法【php教程】,PHP,耐心排序,patience sort,算法

耐烦排序(patience sort)是一种排序算法,灵感来源于纸牌游戏patience,并以此定名。该算法的一个变体能够有效地盘算给定数组中最长递增子序列的长度。 该算法的名字来源于一个简化版的patience纸牌游戏。这个游戏以一副洗牌最先。根据下面的划定规矩,这些卡片被一个接一个地摞...