首页 > 解决方案 > 使用 GET curl PHP 显示 Javascript 值

问题描述

我正在尝试使用 PHP curl 抓取网站。我想在站点中获取 GET 响应的 Javascript 值。我的代码如下:

获取字符串的函数:

function GetStr($string, $start, $end) // getting the string
{
  $str = explode($start, $string);
  $str = explode($end, $str[1]);
  return $str[0];
}

还有我的 PHP 卷曲:

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'the site I want to scrape');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');

echo $result = curl_exec($ch);

echo $nonce = trim(strip_tags(GetStr($result ,'id="woocommerce-process-checkout-nonce" name="woocommerce-process-checkout-nonce" value="','"'))); //getting the nonce value of a javascript which is in ','.

不知何故,我试图回$result显,网站出现了,但没有显示 javascript 值。我错过了什么还是我做错了什么?此外,该站点中的 Get 响应中有一个 cookie,所以我需要将该 cookie 添加一个标题吗?

echo $nonce;输出:我在使用 curl 时没有尝试输出。如果我 echo $result,输出将是网站的页面,因为它是来自网站的 GET 响应页面。

附加信息:同样,我的目标是获取网站的 javascript 值,该网站的 GET 响应具有:

<input type="hidden" id="woocommerce-process-checkout-nonce" name="woocommerce-process-checkout-nonce" value="8d39be8bdc" /><input type="hidden" name="_wp_http_referer" value="/checkout/" />  </div>

我想用上面的代码捕获它,但它没有用。我做错了吗?

标签: javascriptphpcurl

解决方案


推荐阅读