douqingnao9246 2014-07-22 13:14
浏览 95
已采纳

PHP,CURL:函数获取响应代码并返回变量

I have the following function:

function file_get_contents_curl($url) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_USERAGENT, random_user_agent());
    curl_setopt($ch, CURLOPT_HTTPHEADER, 'Content-type: text/plain');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_URL, $url);
    $data = curl_exec($ch);
    curl_close($ch);
    return $data;
}

I need to have some logic inside this function that if the response code of the URL is for example 404, then return null $data variable. I made an example of what I am looking for:

function file_get_contents_curl($url) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_USERAGENT, random_user_agent());
    curl_setopt($ch, CURLOPT_HTTPHEADER, 'Content-type: text/plain');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_URL, $url);
    $data = curl_exec($ch);

    if (empty($data) or (HTTP response code is 404)) {
        // some kind of an error happened
        die(curl_error($ch));
        curl_close($ch); 
        $data = null;
        return $data;
    } else {
        // everything  is ok
        return $data;

    }
}
  • 写回答

2条回答 默认 最新

  • drghhp8706 2014-07-22 13:18
    关注
    function file_get_contents_curl($url) {
                $ch = curl_init();
                curl_setopt($ch, CURLOPT_USERAGENT, random_user_agent());
                curl_setopt($ch, CURLOPT_HTTPHEADER, 'Content-type: text/plain');
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
                curl_setopt($ch, CURLOPT_URL, $url);
                $data = curl_exec($ch);
    
                if (empty($data) OR (curl_getinfo($ch, CURLINFO_HTTP_CODE == 404))) {
                        // some kind of an error happened
                        die(curl_error($ch));
                        curl_close($ch); 
                        $data = null;
                        return $data;
                    } else {
                        // everything  is ok
                        return $data;
    
                    }
    
            }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库
  • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
  • ¥15 请问怎么才能复现这样的图呀