代码之家  ›  专栏  ›  技术社区  ›  jerrygarciuh

服务器配置为从curl向请求发送404?

  •  0
  • jerrygarciuh  · 技术社区  · 15 年前

    我正在为一个客户机做一些自动化工作,并计划在这个过程中通过curl运行一些PHP脚本。然而,当被curl攻击时,浏览器中运行良好的URL将达到404。我在其他地方看到过提到,一些服务器被配置成以这种方式阻止curl。

    这是我可以编辑的设置吗 httpd.conf ?好像不在 php.ini .

    我的代码是这样的:

      $url = "http://site.com/xxx/curl.php?cID=$c->cID&db=$c->db&un=$c->un&/";
      echo "$url";
    
      // spoofing FireFox 2.0
      $useragent="Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) 
        Gecko/20061204 Firefox/2.0.0.1";
      $ch = curl_init ($url) ;
      curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1) ;
      curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
      $res = curl_exec ($ch);
    

    当我回响 $res 我从默认的404错误页面获取代码。如果我复制回显的$url并粘贴到浏览器中,页面就可以了。还尝试使用相对路径和完整服务器路径。

    今天添加了用户代理欺骗,试图查看说我不是curl是否有帮助,但是响应中没有任何变化。

    有没有想过如何追查这个问题的根源,或者更好地解决它?

    1 回复  |  直到 13 年前
        1
  •  1
  •   jerrygarciuh    15 年前

    事实证明,这个星球上善良的人在这个账户上有一些内部路由问题。/etc/sysconfig/network中的主机名设置不正确,/etc/resolv.conf中的解析程序不正确等等。这一站点和许多其他站点最近从一个服务器迁移到另一个服务器。还没修好,但这就是404的原因。

    谢谢。

    推荐文章