在php中使用curl登录到需要csrf_令牌的网站
我正在尝试使用php curl登录一个站点,但我不熟悉csrf_令牌,我在帖子数据中看到,我也在发送这个令牌。下面是我的代码,我无法登录。 我的浏览器发送的csrf_令牌是: csrf_令牌=20131028152953%23%23F31508FBC631E906973451EFE8A88CE1B9270AD&name=name&password=pass在php中使用curl登录到需要csrf_令牌的网站,php,curl,Php,Curl,我正在尝试使用php curl登录一个站点,但我不熟悉csrf_令牌,我在帖子数据中看到,我也在发送这个令牌。下面是我的代码,我无法登录。 我的浏览器发送的csrf_令牌是: csrf_令牌=20131028152953%23%23F31508FBC631E906973451EFE8A88CE1B9270AD&name=name&password=pass $name="name"; $password="pass"; $url="domain.com/login"; $cookie="c
$name="name";
$password="pass";
$url="domain.com/login";
$cookie="cookie.txt";
$postdata = "name=".$name."&password=".$password;
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6");
curl_setopt ($ch, CURLOPT_TIMEOUT, 60);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt ($ch, CURLOPT_COOKIEFILE, $cookie);
curl_setopt ($ch, CURLOPT_REFERER, $url);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt ($ch, CURLOPT_POST, 1);
$result = curl_exec ($ch);
echo $result;
curl_close($ch);
我猜每次加载站点时,
csrf\u令牌
都在变化。您应该首先加载站点,其中是登录表单,然后在DOM中解析csrf\u token
,然后按照问题中的说明进行卷曲。csrf\u token
可以是任何内容。你必须展示它。