【问题标题】:PHP curl and Web Proxy...maybePHP curl 和 Web 代理...也许
【发布时间】:2012-01-17 09:47:10
【问题描述】:

我有一个使用 curl 调用外部 API 的脚本。当网站位于专用服务器上时,此脚本运行良好,但是我不得不将服务器移动到位于代理后面的负载平衡设置,现在由于某种原因我得到了

PHP 警告:SimpleXMLElement::__construct() [simplexmlelement.--construct]:实体:第 1 行:解析器错误:需要开始标记,在...文件名中找不到“

在 Firebug 中,如果有结果(格式化的 XML),它会返回 500 错误,否则会正常处理。

我正在运行 Zend CE 5.1.0,只安装了默认模块。我需要在代理上设置一些东西还是需要安装其他模块才能使其正常工作。

如果您需要更多信息,请告诉我。

干杯

【问题讨论】:

    标签: php curl proxy


    【解决方案1】:

    你是否在 php 中定义了你的代理?

    类似:

    define('HTTP_PROXY_HOST', '192.168.100.100');
    define('HTTP_PROXY_PORT', '8080');
    if (defined('HTTP_PROXY_HOST') && HTTP_PROXY_HOST != '') {
      curl_setopt($ch, CURLOPT_PROXY, HTTP_PROXY_HOST);
    }
    if (defined('HTTP_PROXY_PORT') && HTTP_PROXY_PORT != '') {
      curl_setopt($ch, CURLOPT_PROXYPORT, HTTP_PROXY_PORT);
    }
    

    【讨论】:

    • 不,我没有,但是我已经在 Windows 注册表中添加了一个条目,并且除了一个 curl 命令之外,该站点可以完美加载。我会试试你的建议
    • 现在我收到 PHP 致命错误:未捕获的异常 'Exception' 带有消息 'String 无法解析为 XML'
    • 你得到格式正确的 XML 了吗?也许问题出在另一边?
    • 是的,因为我在不同的服务器上使用了完全相同的脚本。如果我将服务器更改回原始 IP,它就可以工作。你认为我缺少一个 php 模块吗?
    • Printr 无论你得到什么。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多