您的位置:首页 > 理论基础 > 计算机网络

使用 cURL 进行 HTTP 请求实例

2015-08-24 15:23 756 查看
看一段发送 HTTP 请求的代码

/**
*  发送 HTTP 请求
*  @param(url,data)
*  @return(array(state_code,content)),type_are- >"array(int,string)"
*/
function send_http_post($urlcon, $data) {
$url = $urlcon;
$data_string = json_encode ( $data );
// 初始化一个 cURL 会话
$ch = curl_init ( );
// 发送一个常规的 POST 请求
curl_setopt ( $ch, CURLOPT_POST, 1 );
// 设置 URL 地址
curl_setopt ( $ch, CURLOPT_URL, $url );
// 数据 $data_string 使用 HTTP 协议中的"POST"操作来发送。
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data_string );
// 在发起连接前等待 10 S (即:10 S 内目标服务器没有响应就断开连接)
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 10);
// 设置 cURL 最大允许执行 10 S (即:10 S 内目标数据没有下载完毕就断开连接)
curl_setopt( $ch, CURLOPT_TIMEOUT, 10);
//  设置 HTTP 请求的头信息
curl_setopt ( $ch, CURLOPT_HTTPHEADER, array (
'Content-Type: application/json; charset=utf-8',
'Content-Length: ' . strlen ( $data_string )
) );
//  打开输出控制缓冲
ob_start ();
// 执行 cURL
curl_exec ( $ch );
//  读取缓冲区内容
$return_content = ob_get_contents ();
//   清空(擦除)并关闭输出缓冲
ob_end_clean ();
//取得最后一次 cURL 连接资源句柄的信息(HTPP状态码)
$return_code = curl_getinfo ( $ch, CURLINFO_HTTP_CODE );
return array (
$return_code,
$return_content
);
}


以上就是一个使用 cURL 进行 POST 方式发送 HTTP 请求的完整过程。补充:

有关 curl_setopt 参数的介绍请移步

有关 curl_getinfo 函数的介绍请移步
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  PHP