我想从我的其他域获取一些字段的值。 其他域名网站有一个登录页面。我正在浏览器中成功登录,并调用了file_get_contents()函数,但它仍然返回我登录页面的HTML。CURL成功登录重定向到登录页面
我想要在URL中传递的页面的HTML。
这里是添加cookie文件
$COOKIEFILE = dirname(__FILE__) . '/cookie.txt';
$formFields['username'] = 'XXXXXX';
$formFields['password'] = 'XXXXXX';
$ch = curl_init();
// set some options on the handle
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_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, $COOKIEFILE);
curl_setopt($ch, CURLOPT_COOKIEFILE, $COOKIEFILE);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120);
curl_setopt($ch, CURLOPT_TIMEOUT, 120);
curl_setopt($ch, CURLOPT_URL, 'https://www.mydomain.lcl/login');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($formFields));
$data = curl_exec($ch);
第二请求登录
curl_setopt($ch, CURLOPT_URL, 'https://www.mydomain.lcl/dashboard');
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__) . '/cookie.txt');
$result = curl_exec($ch);
后,任何人都可以PLZ建议我如何绕过登录页面和访问页面的HTML后,我的代码。
服务器上的'file_get_contents()'与浏览器中的登录/会话完全无关。您需要在服务器上使用cURL登录远程服务器,然后以登录用户身份登录页面。 – jeroen