PHP';s的HTTP类支持javascript吗?

PHP';s的HTTP类支持javascript吗?,php,http,Php,Http,关于这个问题,我正在研究一个解决方案,它涉及使用PHP的HTTP类来模拟客户端的浏览器 有人知道这个类是否支持javascript函数吗?你能推荐其他的吗 谢谢 Http流处理程序与浏览器没有任何关系。它不会生成DOM树、阻止广告或执行javascript—它只是一个处理数据的库。否,它不会。你必须自己实现这一点。如果您想在服务器端实现所有功能,请查看phpjs、j4p5或更好的spidermonkey-pecl扩展 更好的选择可能是通过XPI插件/XPCOM桥接器自己编写一个真正的浏览器脚本。

关于这个问题,我正在研究一个解决方案,它涉及使用PHP的HTTP类来模拟客户端的浏览器

有人知道这个类是否支持javascript函数吗?你能推荐其他的吗


谢谢

Http流处理程序与浏览器没有任何关系。它不会生成DOM树、阻止广告或执行javascript—它只是一个处理数据的库。

,它不会。你必须自己实现这一点。如果您想在服务器端实现所有功能,请查看phpjs、j4p5或更好的spidermonkey-pecl扩展

更好的选择可能是通过XPI插件/XPCOM桥接器自己编写一个真正的浏览器脚本。曾经有一个名为“JSSh”的扩展和另一个“SD连接器”


这两种选择都不简单。这就是为什么没有人这么做的原因,也是为什么HTTP类中没有这些奢侈的功能。

谢谢您提供的信息。我喜欢在PHP中嵌入spidermonkey的想法,并且肯定会进一步研究。然而,我想确保我问的问题是正确的:你是说如果a通过php的HTTP类请求了一个页面,该类的javascript函数嵌套在响应页面中,对某个GET调用或其他东西触发“onClick”,那么我仍然必须在php方法中使用spidermonkey?所有这些都必须在服务器端进行,因为代理无法向客户端显示页面。是的,您需要实例化Spidermonkey并设置一个浏览器环境(我不相信它内置了一个随时可用的文档树)。然后为JS钩子解析(!)代理的html页面,并伪造onClick、onMouseOver或onwhich事件。我认为,这在一般情况下是难以管理的。我从未听说过有代理做过如此精细的模拟。在PHP中尝试它似乎没有希望。如果您在个案基础上重新实现requestflow,您最多可以为非常特定的页面模拟onClick行为。谢谢Mario。这只是我需要的一个页面,所以这是一个人为的例子。我试图克服的问题是IIS服务器用来验证我的请求的viewstate变量。不幸的是,当我直接发布这些值时,我得到了一个损坏的viewstate,因此我认为使用javascript回调函数登录将是唯一的方法。非常感谢你的帮助。我自己写了一些网站刮刀,你应该看看萤火虫/蜻蜓。也许你错过了什么。有时,准确复制浏览器指纹(保持活动状态、接受编码等)是非常必要的。如果它确实是一个触发自动化的AJAX调用,那么必须使用XMLHttpRequest模拟
X-request-With:XMLHttpRequest
。Javascript代码不会欺骗任何东西。Mario-你是对的。我没有完全按照邮件发送的方式重新生成邮件头。我不得不添加您提到的“保持活动”、“接受编码”等等),它突然起作用了!再次感谢!