导致简单的 html dom 与浏览器中的结果不匹配



我试图搜索我可以添加到购物车的最大数量。所以我在每个url中更改参数数量=

$html = file_get_html("http://example.com/en/cart?add=1&id_product=26&qty=1&token=8b003fa01d462f09e0de452c19193175");
echo $html;

-

$html = file_get_html("http://example.com/en/cart?add=1&id_product=26&qty=3&token=8b003fa01d462f09e0de452c19193175");
echo $html;

但在回显的$html中,我得到总是有一个产品被添加到购物车,即使我更改了数量=。

但是,如果我在浏览器中手动查找:如果我访问"http://example.com/en/cart?add=1&id_product=26&数量=3&token=8b0003fa01d462f09e0de452c19193175"我得到3个产品被添加到购物车

运行在example.com上的是您的代码吗?

1我几乎可以肯定,对于安全问题,还有比这个简单的URL更多的东西。

2通常,你的电脑上还有另一个id:在浏览器中检查cookie。你肯定会发现一些与代币有关的东西。

3个程序还可以检查浏览器是否正在访问它们。购物服务员不喜欢机器人。

4要想在你的应用程序中获得相同的行为,你至少应该:

  • 将cookie作为浏览器进行管理
  • 可能会更改客户端类型,以欺骗浏览器
  • 也许可以模拟整个连接(使用登录):请参阅下一点

5最后:你试过其他代币了吗?发生了什么?它肯定会阻止您登录。

最新更新