【问题标题】:click an ajax button with cURL php单击带有 cURL php 的 ajax 按钮
【发布时间】:2021-06-07 12:29:04
【问题描述】:

我希望你们帮助我 我读了几个类似的问题,但不幸的是没有一个回答我。

抓取卷曲的页面。该页面内有一个我想使用的按钮。但是那个按钮使用ajax,当我点击它时,它没有反应。我知道通过curl只加载了一个文件,并且没有加载其内容,例如css和js。

这是我的代码

    $url = "https://example.com/home";
$ch = curl_init(); 
$ua ="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0";
$sessid ="k7r3svjsugahfcm85teoc6hd74";

curl_setopt($ch, CURLOPT_COOKIE, 'PHPSESSID=' . $sessid); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE ); 
curl_setopt($ch, CURLOPT_USERAGENT,$ua);
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

$data = curl_exec($ch); 
$info = curl_getinfo($ch);
 echo $data;

以及我想使用的按钮

<button type="button" onclick="withdraw();" class="btn btn-info button-confirm">Confirm</button>

它的功能写在另一个js文件中

有什么方法可以让我使用那个按钮吗?

我使用 curl 或其他方法都没有关系。 我只是想这样做

【问题讨论】:

  • 这样做的目的是什么?当然,对 AJAX 脚本的访问会受到保护,并且不会允许从任何来源执行与其相关的任何操作,即使您掌握了 JS 代码也是如此。
  • 目前还不清楚您想要获得什么样的整体体验。您可以对 AJAX 调用进行反向工程并使用 CURL 执行这些调用,您可以使用“无头浏览器”库在代码中与页面(包括 JavaScript)进行交互,您可以使其他页面资产(JS、CSS 等)可用。 ) 通过添加操作以在请求时获取这些操作,或者可能完全是其他操作。这完全取决于你的实际目标是什么。
  • 仅供参考,“报废”的意思是已经扔掉了。我想你的意思是 scraped

标签: javascript php ajax curl


【解决方案1】:

据我了解,您想在外部页面上触发该按钮的点击事件。

cURL 无法做到这一点,因为那只是为了阅读。

如果您想在网站上做某事并加载 JavaScript,您需要使用浏览器打开网站并在该浏览器中执行操作。

也许你应该看看这个: https://github.com/puppeteer/puppeteer

在“自动提交表单、UI 测试、键盘输入等”的功能中,我认为这就是您想要的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-18
    • 1970-01-01
    • 1970-01-01
    • 2019-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-11
    相关资源
    最近更新 更多