8

如何使用 php curl 检测此错误?即使 URL 不存在,curl 也会返回成功。

Not Found
The requested URL /foo/index.php/items/edit was not found on this server.

我的代码

$post_fields = array('info' => json_encode($fields));
    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch,CURLOPT_POST,count($post_fields));
    curl_setopt($ch,CURLOPT_POSTFIELDS,$post_fields);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
    curl_setopt($ch,CURLINFO_CONTENT_TYPE,'application/x-www-form-urlencoded charset=utf-8');

    $result = curl_exec($ch);
    echo $result;

    if(curl_error($ch)){
        $result = curl_error($ch);
        curl_close($ch);
        return $result;
    }else{
        curl_close($ch);
        return json_decode($result,true);

    }
4

1 回答 1

11

使用它来获取 HTTP 状态代码:

$code = curl_getinfo($ch, CURLINFO_HTTP_CODE);

如果是 404,则表示找不到请求的 URL。

注意:记得在之前发出此行curl_close($ch);

于 2013-05-20T04:40:58.283 回答