Больше не могу войти через sll, используя curl

Вход в Curl с SSL работал нормально, прежде чем он сломался и сводил меня с ума.

Получил следующую информацию с print_r(curl_getinfo($ch)): Мое подозрение "ssl_verify_result", потому что я прочитал в документах, что если не проверяет "сертификат ssl", то он выдает ошибку "20"???

[url] => https://www.ooshirts.com/?module=artist&action=login
[content_type] => text/html; charset=UTF-8
[http_code] => 200
[header_size] => 413
[request_size] => 329
[filetime] => -1
**[ssl_verify_result] => 20**
[redirect_count] => 0
[total_time] => 1.404
[namelookup_time] => 0
[connect_time] => 0.265
[pretransfer_time] => 1.107
[size_upload] => 28
[size_download] => 485
[speed_download] => 345
[speed_upload] => 19
[download_content_length] => 485
[upload_content_length] => -1
[starttransfer_time] => 1.404
[redirect_time] => 0

Я работаю на локальной машине (win7X64) и скачал сертификат SSL с реального сайта и сохранил его локально в той же папке. Несколько дней он работал нормально, но потом снова начал возвращаться на ту же страницу входа. Ниже приведен мой тестовый код:

$username="username"; 
$password="******"; 
$url="https://www.ooshirts.com/?module=artist&action=login"; 
$cookie=getcwd()."\cookie.txt"; 
$open = fopen($cookie,"w");
$postdata = "name=".$username."&password=".$password; 

$ch = curl_init(); 
curl_setopt ($ch, CURLOPT_URL, $url); 
curl_setopt ($ch, CURLOPT_CAINFO, getcwd() . "\www.ooshirts.com");
curl_setopt ($ch, CURLOPT_USERAGENT,  $_SERVER['HTTP_USER_AGENT']); 
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); 
curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);
$result = curl_exec ($ch); 
echo $result;
fclose($open);

Любая помощь???

1 ответ

Если проблема связана с проверкой SSL, вам помогут следующие настройки

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);

Имя пользователя и пароль будут передаваться в зашифрованном виде по SSL.
Изменить: Просто убедитесь, что вы urlencode данных поста, как показано здесь.

Другие вопросы по тегам