【PHP原生】CURL请求

curl_setopt所有设置项:

http://php.net/manual/zh/function.curl-setopt.php

封装好的CURL操作类:

https://github.com/wenpeng/curl

 

CURL发送get/post请求示例

<?php
/**
* 发送CURL请求
* @param $url 请求的URL
* @param $method 请求方法
* @param $params 参数(关联数组形式)
* @param array $header 一维数组的请求头信息(非关联数组)。
* @return bool
*/
function curl($url, $method = 'GET', $params = [], $header = [])
{
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    //将获取的信息以字符串返回,而不是直接输出
    curl_setopt($ch, CURLOPT_URL, $method == "POST" ? $url : $url . '?' . http_build_query($params));
    //解析参数
    //设置超时时间
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);
    curl_setopt($ch, CURLOPT_TIMEOUT, 60);
    //如果是https协议,取消检测SSL证书
    if (stripos($url, "https://") !== FALSE) {
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
        //CURL_SSLVERSION_TLSv1
        curl_setopt($ch, CURLOPT_SSLVERSION, 1);
    }
    //判断是否设置请求头
    if (count($header) >= 1) {
        curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    }
    //通过POST方式提交
    if ($method == "POST") {
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
    }
    $data = curl_exec($ch);
    //执行curl操作
    curl_close($ch);
    //关闭curl操作
    return $data;
}
/*$header = [
'User-Agent:Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6',
'Accept-Language:zh-CN,zh,q=0.8'
];*/
$url = "http://xxx.com";
$header[] = 'User-Agent:Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6';
$header[] = 'Accept-Language:zh-CN,zh,q=0.8';
//参数
$vars = ['a' => 1, 'b' => 'lo'];
$res = curl($url, 'GET', $vars, $header);
var_dump($res);

--------------------------------------------------------------------
承接网站开发、小程序开发、app开发、商城开发、公众号开发。
百度SEO排名、百度搜索霸屏、软文代写等业务。
联系QQ:2779459018     联系微信:qianxia39

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值