在大多数情况下,这将通过cookie实现,因此您需要指示curl跟踪cookie。
比如:
curl_setopt($curl, CURLOPT_COOKIEJAR, '/tmp/cookies'); //where to write cookies received from server
curl_setopt($curl, CURLOPT_COOKIEFILE, '/tmp/cookies'); //where to read cookies to send in requests.
你应该从那里开始。
编辑
明目张胆的复制/粘贴示例(
from here
-用大约20秒的谷歌搜索“php curl login”就可以找到。这看起来是对的:
<?php
$url ="http://login.yahoo.com/config/login?.src=ym&.intl=us&.partner=&.done=http%3A%2F%2Fmail.yahoo.com%2F";
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt ($ch, CURLOPT_COOKIEJAR, '/temp/cookie.txt');
curl_setopt ($ch, CURLOPT_POSTFIELDS, "login=emailid&passwd=password&&submit=Sign In");
ob_start();
curl_exec ($ch);
ob_end_clean();
curl_close ($ch);
unset($ch);
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_COOKIEFILE, "/temp/cookie.txt");
curl_setopt($ch, CURLOPT_URL,"http://us.f515.mail.yahoo.com/ym/login?");
$result = curl_exec ($ch);
curl_close ($ch);
echo $result;