Php 如果使用curl时响应代码为500,如何输出网页正文?

Php 如果使用curl时响应代码为500,如何输出网页正文?,php,curl,Php,Curl,我为这个问题经历了艰难困苦。我在一页上得到一个500的错误,很小很小的一部分时间。我完全无法复制它,但谷歌坚称他们看到的是500码。谷歌机器人说它成功了,但有些地方出了问题。我已经走了很多路,我唯一剩下的办法就是对网站的本地副本进行暴力攻击 我想使用curl敲打dev站点,直到出现500个错误,然后将页面主体输出到终端,这样我就可以实际获得一些有用的信息 for(;;){ $url = "http://www.blahblah.dev/"; $ch = curl_init();

我为这个问题经历了艰难困苦。我在一页上得到一个500的错误,很小很小的一部分时间。我完全无法复制它,但谷歌坚称他们看到的是500码。谷歌机器人说它成功了,但有些地方出了问题。我已经走了很多路,我唯一剩下的办法就是对网站的本地副本进行暴力攻击

我想使用curl敲打dev站点,直到出现500个错误,然后将页面主体输出到终端,这样我就可以实际获得一些有用的信息

for(;;){
    $url = "http://www.blahblah.dev/";

    $ch = curl_init();

    //Set the URL
    curl_setopt($ch, CURLOPT_URL, $url);
    //Enable curl response
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    //Enable POST data
    curl_setopt($ch, CURLOPT_POST, true);
    //Use the $pData array as the POST data
    curl_setopt($ch, CURLOPT_POSTFIELDS, $jData);

    $result = curl_exec($ch);

    if(strstr($result, "error")){
        echo $result;
        exit();
    }

    curl_close($ch);
    usleep(500000);
}

正如你所看到的,我只是检查身体中是否出现“错误”,因为我不知道如何正确地检查500个错误。我意识到这是一种糟糕的、人为的调试方式,但这就是我目前所拥有的一切。谢谢

你应该检查web服务器的错误日志。奇怪的是,我在日志中找不到关于过去几天500个错误的任何信息。我不确定是否有配置错误或什么,但有些东西很愚蠢,我找不到任何错误的痕迹。但是,我确实在访问日志中看到了500个错误。只是在错误日志中什么都没有。很奇怪,很奇怪。然而,我认为当发送500时,您的curl不会向您显示任何内容。根据访问日志,每个500响应包含约750字节(而成功的响应只有几千字节),这会让我相信,实际的错误页面(可能包含有用的信息)会显示给用户。我认为小尺寸表示显示了一些错误。下面是我所说的示例:66.249.75.242---[04/Jan/2013:10:29:06-0600]“GET/blah/details/21585/this-is-a-url HTTP/1.1”500 752“-”Mozilla/5.0(兼容;Googlebot/2.1;+)”