我有一个网站,例如https://example.com/login.ctl:
<form name="log-in" method="post" action="/other-site.ctl" enctype="application/x-www-form-urlencoded">
<input type="hidden" name="TOKEN" value="5669061a39691728a3f580db0c6e7685">
<input type="text" name="number" tabindex="1" value="" id="EnterNumber">
<button type="submit" tabindex="4" name="submit">Continue</button>
</form>
我将尝试使用cURL发送POST:
$CURL_OPTS = array(
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_HEADER => FALSE,
CURLOPT_FOLLOWLOCATION => TRUE,
CURLOPT_ENCODING => '',
CURLOPT_AUTOREFERER => TRUE,
CURLOPT_CONNECTTIMEOUT => 120,
CURLOPT_TIMEOUT => 120,
CURLOPT_MAXREDIRS => 10,
CURLOPT_SSL_VERIFYHOST => 0,
CURLOPT_SSL_VERIFYPEER => 0,
CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:23.0) Gecko/20131011 Firefox/23.0'
);
$curl = curl_init();
curl_setopt_array($curl, $CURL_OPTS);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_URL, 'https://example.com/login.ctl');
curl_setopt($curl, CURLOPT_HEADER, true);
curl_setopt($curl, CURLOPT_COOKIESESSION, true);
curl_setopt($curl, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt($curl, CURLOPT_COOKIEJAR, "cookie.txt");
$loginData = array(
//'TOKEN' => '', //I DON'T HAVE THIS VALUE!!
'number' => $costumerID,
'submit' => 'Continue',
);
curl_setopt($curl, CURLOPT_POSTFIELDS, $loginData);
$login = curl_exec($curl);
问题:我不知道字段TOKEN的价值,但我必须发送它。怎么做? 我应该重新加载页面example.com/login.ctl来更改TOKEN值。