使用 cURL 进行 HTTP 请求实例

看一段发送 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 函数的介绍请移步

转载于:https://www.cnblogs.com/peterzha/p/6853250.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值