【问题标题】:Crawler / CURL sees edge site includes爬虫/CURL 看到边缘站点包括
【发布时间】:2017-06-18 01:42:58
【问题描述】:

我正在尝试通过 curl/wget 检索网站,但我看到的不是浏览器中看到的真实内容,而是 ESI 标记。

网址是http://www.patagonia.com/home/?setCountryCode=US&setLocaleCode=en_US&setLocaleCodeSelect=en

<html xmlns="http://www.w3.org/1999/xhtml" class="no-js" lang="en"><head/><body onload="submitWait();true;"><esiU00003Aremove>

</esiU00003Aremove>



<esiU00003Acomment text=" ------------- begin html ---------- ">  

<esiU00003Acomment text=" --- CUSTOMIZE HEAD HERE --- ">

  <meta charset="utf-8"/>   <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible"/>

    <title>Hang Tight! Routing to checkout...</title> ......

我已经通过邮递员尝试过,只发送 Accept 和 Connection cookie,我看到了正常的 HTML 结果。我不太确定发生了什么。有没有人知道要发送什么标头或要为 wget/curl 做些什么来正确获取页面?

【问题讨论】:

  • 如果你get Postman to generate the CURL request for you会发生什么?然后它会显示 ESI 标签吗?
  • @ʰᵈˑ有趣的想法,试过了,也不行,它生成了curl -X GET -H "Cache-Control: no-cache" -H "Postman-Token: 3f7093a7-c0f0-4675-edf9-12e0659d17c8" "http://www.patagonia.com/home/?setCountryCode=US&amp;setLocaleCode=en_US&amp;setLocaleCodeSelect=en"

标签: curl web-crawler wget edge-side-includes


【解决方案1】:

有些网站不喜欢 Curl 的用户代理。试试:

curl -v -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0' 'http://www.patagonia.com/home/?setCountryCode=US&setLocaleCode=en_US&setLocaleCodeSelect=en'

【讨论】:

  • 这导致相同的结果,我也玩了不同的用户代理。
  • @dsky 真的吗?当我发送默认 curl 用户代理时,我被阻止了,但是当我发送该用户代理时,我得到了预期的 html。 curl -v 'http://www.patagonia.com/home/?setCountryCode=US&amp;setLocaleCode=en_US&amp;setLocaleCodeSelect=en' 的输出是什么?
  • 返回 curl -v 'http://www.patagonia.com/home/?setCountryCode=US&amp;setLocaleC‌​ode=en_US&amp;setLocaleC‌​odeSelect=en' * Hostname was NOT found in DNS cache * Trying 23.38.49.57... * Connected to www.patagonia.com (23.38.49.57) port 80 (#0) &gt; GET /home/?setCountryCode=US&amp;setLocaleC‌​ode=en_US&amp;setLocaleC‌​odeSelect=en HTTP/1.1 &gt; User-Agent: curl/7.38.0 &gt; Host: www.patagonia.com &gt; Accept: */* &gt; 并且永远不会结束
  • @dsky 和我一样。从我的IP,这一切都通过添加参数-H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0'
  • @hanshenrik 很奇怪,对我来说这并没有改变任何东西。我的服务器在美国以外,也许他们这边有位置检查,你从哪里卷曲?
猜你喜欢
  • 2016-10-08
  • 2012-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多