使用 cURL 进行 HTTP 请求实例

xiaoxiao2021-02-28  33

/** * 发送 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 ); }
转载请注明原文地址: https://www.6miu.com/read-1056042.html

最新回复(0)