我试图在这个域上运行curl:
curl 'http://www.zone-h.org/'
当我尝试单独运行该命令时,它不会像我想要的那样获取页面内容。
当我像这样运行curl时,它确实可以正常工作:
curl 'http://www.zone-h.org/archive' -H 'Cookie: ZH=9ad2c41c5fe02ef34a30a22c1902b4bf'
这适用于我的本地桌面,因为我可以在浏览器中访问该网站并获取cookie字符串。但是,我试图在我的VPS上运行它并且它无法正常工作。我猜这是因为我的IP不同或类似。
我不确定导致这种情况的原因,但我认为这是文件:
http://www.zone-h.org/z.js
如何找到我应该在我的VPS上设置cookie的内容,以便我可以在那里运行此命令?有没有办法弄清楚如何生成cookie字符串或为我的VPS获取正确的cookie?
答案 0 :(得分:0)
首先,设置cookie的javascript实际上位于您为主URL获取的初始正文中。 z.js
文件提供了一堆javascript帮助函数,但主javascript代码调用了这些函数。
要学习的关键逻辑就是这篇文章(我把这条线分开来看起来更好):
document.cookie="ZH="+toHex(slowAES.decrypt(c,2,a,b))+
"; expires=Thu, 31-Dec-37 23:55:55 GMT; path=/";
请参阅?它使用来自原始正文中设置的a,b和c变量的输入,使用AES解密的内容生成cookie。如果你真的想要,你可以用另一种语言编写自己的逻辑来模仿它。
但是也看到它为这个ZH cookie设置了2037年的到期日。因此,您可能可以重复使用您拥有的cookie多年,甚至无需计算新的cookie(除非它再次运行此脚本)。