【问题标题】:Error 503 after a file_get_html to Amazon OfferListing link指向 Amazon OfferListing 链接的 file_get_html 后出现错误 503
【发布时间】:2014-04-05 12:42:36
【问题描述】:

目前我正在通过 API 在亚马逊和我的网站之间进行集成。 但现在我面临一个问题,Api 没有返回有关运费的信息,而且有很多商品的运费价格很高。 所以我想通过简单的 html dom 直接从亚马逊网站获取数据。 首先,我尝试任何产品视图来测试它并获取价格,然后我做到了。 但是当我尝试将 simple_html_dom 制作成下一个链接时 http://www.amazon.com/gp/offer-listing/B00E45043A/ref=dp_olp_new?ie=UTF8&condition=new (这种链接向我显示了一个包含运输信息的表格) 我得到了这样的错误: 2014-03-04T05:48:01+00:00 ERR (3):警告:file_get_contents(http://www.amazon.com/gp/offer-listing/B00E45043A/ref=dp_olp_new?ie=UTF8&condition=new):打开流失败:HTTP 请求失败! HTTP/1.1 503 服务不可用 在 /var/www/mysite/lib/phpseclib/simpleDom/simple_html_dom.php 第 75 行

这里的请求失败:

$html = file_get_html($url);

任何帮助将不胜感激。

【问题讨论】:

  • 在亚马逊,网站详细信息来自 JSON。这可能会阻止您获取数据。检查数据是如何来的。这可能会帮助你。我也遇到了同样的问题。
  • 谢谢!但我找不到任何有关运输信息的 XHR 请求。几分钟前,我尝试使用 CURL 访问相同的 url,但出现 500 错误。也许亚马逊阻止了对 offerListing 详细信息的访问。您知道另一种获取正确运输信息的方法吗?谢谢
  • 我发现只有在页面完全加载后才会加载所需的详细信息。
  • 这是因为 file_get_contents 没有发送正确的标题。
  • @BetoCastillo 我们需要找到在整页加载后加载的详细信息。要获得它,我们必须获得具有值数组的 json。在那个数组中,我们需要解析它并得到我们想要的。

标签: php amazon file-get-contents simple-html-dom


【解决方案1】:

您可能会收到此错误,因为 html 的大小超过了 simple_html_dom.php MAX_FILE_SIZE 常量,默认为 600000。 编辑 simple_html_dom.php 并将 MAX_FILE_SIZE 更改为更大的值。 如果它是股票解析器,您可以在第 66 行找到它: 定义('MAX_FILE_SIZE',600000); 对我来说,这解决了问题。

【讨论】:

    猜你喜欢
    • 2018-01-01
    • 1970-01-01
    • 2021-09-26
    • 2018-12-15
    • 1970-01-01
    • 2018-02-24
    • 1970-01-01
    • 2018-03-12
    • 1970-01-01
    相关资源
    最近更新 更多