我正在嘗試從原始文本中獲取 CSRF 令牌,基本上,我在 PAGE 上有很多文本資料,我在該頁面上幾乎有 5-10 個 CSRF 令牌都是相同的,我只想從中獲取一個 csrf 令牌文本并保存到 PHP 變數中。
<?php
$url = "--";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$result = curl_exec($ch);
preg_match_all('/^x-csrf-token:\s*([^;]*)/mi', $result, $matches);
$cookies = array();
foreach($matches[1] as $item) {
parse_str($item, $cookie);
$cookies = array_merge($cookies, $cookie);
}
$session = $cookies['x-csrf-token'];
echo($session);
?>
這是代碼,但它不起作用。
文本螢屏:

uj5u.com熱心網友回復:
您regex似乎與您的示例文本無關。
具體來說:
- 該
^字符與文本的開頭匹配,而您的匹配項在文本內。所以這個需要去掉 - 您缺少
'原始文本中的引號 - 你正在匹配
[^;]*,這意味著當你找到分號時打斷,但你的文本中沒有分號
根據您共享的示例文本,正則運算式應該是
/x-csrf-token',\s*'([^'] )/mi
3v4l 示例:https ://3v4l.org/WjKhb
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/453304.html
