如何使用PHP curl_setopt检查服务器错误类型?

时间:2015-12-10 05:28:38

标签: php

我尝试使用 PHP curl_setopt 查询来自其他网站的数据,如下所示,但我不知道我的合作伙伴服务器何时收到任何错误,如下所述。

    [Server Error 5xx]
    500="Internal Server Error"
    501="Not Implemented"
    502="Bad Gateway"
    503="Service Unavailable"
    504="Gateway Timeout"
    505="HTTP Version Not Supported"


   public function getNumber() {

        $url = "http://website/PalmHallServer_kl/!queryLuckNumberRecordByPeriods.action";
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: Json'));
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
        $contents = curl_exec($ch);
        $res = false;
        if ($contents) {
            $res = TRUE;
        } else {
            $res = FALSE;
        }
        echo json_encode(array("res" => $res, 'data' => $contents));
    }

1 个答案:

答案 0 :(得分:1)

首先告诉curl你想看到返回的标题

curl_setopt($ch, CURLOPT_HEADER, true); 

然后您可以使用

获取响应代码
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);

要查看响应标题中包含的所有信息,您可以

print_r(curl_getinfo($ch));