以下是准备粘贴到 ini 样式文件中的响应代码。可用于提供更具描述性的消息,对应于 curl_getinfo() 返回的数组的“http_code”索引。
这些取自 W3 联盟的 HTTP/1.1:状态代码定义,位于
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
[信息性 1xx]
100="继续"
101="切换协议"
[成功 2xx]
200="确定"
201="已创建"
202="已接受"
203="非权威信息"
204="无内容"
205="重置内容"
206="部分内容"
[重定向 3xx]
300="多种选择"
301="永久移动"
302="找到"
303="查看其他"
304="未修改"
305="使用代理"
306="(未使用)"
307="临时重定向"
[客户端错误 4xx]
400="错误请求"
401="未授权"
402="需要付款"
403="禁止"
404="未找到"
405="方法不允许"
406="不可接受"
407="需要代理身份验证"
408="请求超时"
409="冲突"
410="已删除"
411="需要长度"
412="前提条件失败"
413="请求实体过大"
414="请求 URI 过长"
415="不支持的媒体类型"
416="请求的范围无法满足"
417="期望失败"
[服务器错误 5xx]
500="内部服务器错误"
501="未实施"
502="错误网关"
503="服务不可用"
504="网关超时"
505="HTTP 版本不受支持"
以及一个使用示例
<?php
$ch = curl_init(); // 创建 cURL 处理程序 (ch)
if (!$ch) {
die("无法初始化 cURL 处理程序");
}
// 设置一些 cURL 选项
$ret = curl_setopt($ch, CURLOPT_URL, "http://mail.yahoo.com");
$ret = curl_setopt($ch, CURLOPT_HEADER, 1);
$ret = curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$ret = curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
$ret = curl_setopt($ch, CURLOPT_TIMEOUT, 30);
// 执行
$ret = curl_exec($ch);
if (empty($ret)) {
// 发生某种错误
die(curl_error($ch));
curl_close($ch); // 关闭 cURL 处理程序
} else {
$info = curl_getinfo($ch);
curl_close($ch); // 关闭 cURL 处理程序
if (empty($info['http_code'])) {
die("没有返回 HTTP 代码");
} else {
// 加载 HTTP 代码
$http_codes = parse_ini_file("path/to/the/ini/file/I/pasted/above");
// 输出结果
echo "服务器响应:<br />";
echo $info['http_code'] . " " . $http_codes[$info['http_code']];
}
}
?>