我遇到了一个奇怪的问题,这似乎是 ipv6 与 ipv4 dns 名称的问题。
我有一个实时刮板,它在我的服务器上运行,该服务器在 ipv6 网络上运行。抓取后,此抓取器通过 ajax 调用将一些 url 返回到网页上的图像,然后通过抓取器返回的链接将图像显示在我本地机器上的浏览器中。但是这些 url 在我的本地网络上没有解析。我的本地机器不在 ipv6 网络上运行。此外,被抓取的网页通过 CDN 托管图像,因此抓取器将根据其运行的机器/位置返回结果/指向图像的链接。
举个例子:
服务器抓取http://www.flipkart.com/it-s-not-bike-0224060872/p/itmczyx5zzktubhy?pid=9780224060875并返回以下链接:
当我从位于另一个地理位置的本地计算机然后是我的服务器(刮板)访问此图像时,它无法解析上面的链接。在我的本地机器上使用 curl 它报告:
curl: (7) 无法连接到 2001:df0:23e:9002::17: 网络不可达
在服务器上做同样的事情可以完美地下载图像。
我不确定为什么指向图像的链接应该在一个网络中工作而不在另一个网络中工作?