php curl模拟get/post提交

180it 2019-12-11 PM 1739℃ 0条

/**

 * curl模拟get/post提交
 * @param $url 请求的url地址
 * @param $data 发送的数据
 * @param $type 请求的类型
 * @return $result 返回的数据
 */
function httpsRequest(String $url, $data = [], $type = "html"){
    $curl = curl_init(); // 启动一个CURL会话
    curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 对认证证书来源的检查
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); // 从证书中检查SSL加密算法是否存在
    if(!empty($data)){
        curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
        if($type == "json"){ // json
            curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
            $data = json_encode($data);
        }
        if($type == "xml"){ // xml
            curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: text/xml'));
            $data = arr2xml($data);
        }
        curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据
    }
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
    $result = curl_exec($curl); // 执行操作
    curl_close($curl); // 关闭CURL会话
    return $result; // 返回数据
}
支付宝打赏支付宝打赏 微信打赏微信打赏

如果文章或资源对您有帮助,欢迎打赏作者。一路走来,感谢有您!

标签: none

php curl模拟get/post提交