4
我正在尝试登录到站点。本网站使用自动提交表单和随机密钥提交表单。我尝试了几种方法,但无法通过。所以这里是我的代码。任何答案将不胜感激。提前致谢。还有我的假帐户通行证和用户名可用代码为那些想尝试。我的网址有点长使用curl登录到https站点
include 'simple_html_dom.php';
$i = 0;
$html = file_get_html($url);
foreach($html->find('input') as $keys) {
$ltkey = $keys->value;
if (++ $i == 1)
break;
}
$url = 'https://auth.station.sony.com/login?theme=poxnora&cid=1056360&service=https://poxnora.station.sony.com/cas/merge.do®Service=https://poxnora.station.sony.com /play/load.do';
$data = 'lt=' . $ltkey . '&_eventId=submit&username=XXXXXXXX&password=XXXXXXXX';
// curl request
$fp = fopen("cookie.txt", "w");
fclose($fp);
$login = curl_init();
curl_setopt($login, CURLOPT_COOKIEJAR, "cookie.txt");
curl_setopt($login, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt($login, CURLOPT_TIMEOUT, 40000);
curl_setopt($login, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($login, CURLOPT_URL, $url);
curl_setopt($login, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($login, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($login, CURLOPT_POST, TRUE);
curl_setopt($login, CURLOPT_POSTFIELDS, $data);
curl_setopt($login, CURLOPT_SSL_VERIFYPEER, TRUE);
curl_setopt($login, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($login, CURLOPT_CAINFO, "cert.crt");
$result = curl_exec($login);
curl_close($login);
echo $result;
'CURLOPT_SSL_VERIFYHOST'是'2',但你没有添加证书......看到http://stackoverflow.com/questions/16374126/code-does-not-work -without-disabling-ssl/16374178#16374178关于如何向SSL请求添加证书 – Baba
用curl_error()检查你的代码http://php.net/manual/en/function.curl-error.php – Shin
谢谢你我都增加了证书,但它仍然重定向到登录页面,我也检查了卷曲错误。没有卷曲错误我在做什么worng? –