使用 cURL 进行 HTTP 请求实例
2015-08-24 15:23
756 查看
看一段发送 HTTP 请求的代码
以上就是一个使用 cURL 进行 POST 方式发送 HTTP 请求的完整过程。补充:
有关 curl_setopt 参数的介绍请移步
有关 curl_getinfo 函数的介绍请移步
/** * 发送 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 函数的介绍请移步
相关文章推荐
- 一个关于if else容易迷惑的问题
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- JSP/PHP基于Ajax的分页功能实现
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- 什么是设计模式
- PHP数据库长连接mysql_pconnect的细节
- Php Installing An Expansion
- PHP+Apache在Windows 9x下的安装和配置
- IIS 6 的 PHP 最佳配置方法
- 安装Apache和PHP的一些补充
- Linux Apache+MySQL+PHP
- 建立Apache+PHP+MySQL数据库驱动的动态网站
- PHP 5.3.0 安装分析心得
- apache 环境下 php 的配置注意事项
- ASP.NET、ASP、PHP、JSP之间有什么区别?
- PHP VBS JS 函数 对照表
- C语言实现的统计php代码行数功能源码(支持文件夹、多目录)
- php xml 入门学习资料