php使用CURL

xiaoxiao2021-02-28  89

CURL是一个非常强大的开源库,支持包括HTTP、FTP、TELNET等很多协议,我们使用它来发送HTTP请求。

使用CURL发送请求的基本流程

使用CURL的PHP扩展完成一个HTTP请求的发送一般有以下几个步骤:

初始化连接句柄设置CURL选项执行并获取结果释放CURL连接句柄 // 1. 初始化 $ch = curl_init(); // 2. 设置选项,包括URL curl_setopt($ch,CURLOPT_URL,"http://www.baidu.com"); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); //获取的信息以变量形式的形式返回,而不是直接输出 curl_setopt($ch,CURLOPT_HEADER,0); //不返回HTTP头部信息 // 3. 执行并获取内容 $data = curl_exec($ch); // 4. 释放curl句柄 curl_close($ch);

使用CURL发送GET请求

GET方式其实就是url带上参数就可以了,没有变化

$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://www.baidu.com?xxx=123456&aaa=abcdef'); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $data = curl_exec($ch); curl_close($ch);

使用CURL发送POST请求

POST方式需要设置CURLOPT_POST参数

$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://www.baidu.com'); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); //设置以POST方式发送 $post_data = array( "username" => "coder", "password" => "12345" ); curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); //POST数据(必须数组形式) $data = curl_exec($ch); curl_close($ch);

基本用法就是这些,有时还会有一些根据需要设置HEADER信息的操作。 下面贴一下我常用的CURL方法

function curl_post($url,$arr){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json; charset=utf-8"));//POST发送json数据 curl_setopt($ch, CURLOPT_POST, TRUE); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($arr)); $data = curl_exec($ch); curl_close($ch); return json_decode($data,true); }
转载请注明原文地址: https://www.6miu.com/read-59320.html

最新回复(0)