авторизация curl (проблема с сертификатом)

sarkis

Профессор
Регистрация
27 Фев 2014
Сообщения
248
Реакции
40
всем привет ...Не знаю еще рабочий ли код, но при загрузке страницы выдает ошибку
Peer certificate cannot be authenticated with known CA certificates(60)

сам код
PHP:
<?
$url = 'https://www.moviusa.com/login.html';

  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $url);
  // откуда пришли на эту страницу
  curl_setopt($ch, CURLOPT_REFERER, 'https://www.moviusa.com/watchlist.html');
  // cURL будет выводить подробные сообщения о всех производимых действиях
curl_setopt($ch, CURLOPT_COOKIESESSION, TRUE);
curl_setopt ($ch, CURLOPT_COOKIEJAR, 'coo.txt');
curl_setopt ($ch, CURLOPT_COOKIEFILE, 'coo.txt');
  curl_setopt($ch, CURLOPT_HEADER, 0);
  curl_setopt($ch, CURLOPT_VERBOSE, 1);
  curl_setopt($ch, CURLOPT_POST, 1);
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  curl_setopt($ch, CURLOPT_POSTFIELDS,"usercd=test&passwd=test&cmd-login=1");
  curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (Windows; U; Windows NT 5.0; En; rv:1.8.0.2) Gecko/20070306 Firefox/1.0.0.4");
  curl_setopt($ch, CURLOPT_HEADER, 1);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  //сохранять полученные COOKIE в файл
  $result=curl_exec($ch);
  $error = curl_error($ch).'('.curl_errno($ch).')';
  echo $error;
  curl_close($ch);
  $file = fopen('index.html','w');
  fwrite($file,$result);
  fclose($file);

?>
по какой причине данная ошибка вылазит ?

возможно сертификат , но как обойти?
 
Последнее редактирование модератором:
Скорее всего это
PHP:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
 
Добавить в свой код)))
тупанул ..Сорри ..))
Теперь вылазит "(0)"
можете мне объяснить принцип работы : ну если я обновил страницу , т.е по идеи я уже авторизуюсь на стороннем сайте и теперь мне можно туда перейти без авторизации или как?

мой сайт Для просмотра ссылки Войди или Зарегистрируйся
 
Последнее редактирование модератором:
Тут можно по разному. Или проверять наличие какой нибуть cooke, говорящей о том что авторизирован, можно проверять содержимое страницы на предмет наличия какой нибуть строки, говорящей о том что авторизтирован или наоборот - нет.
В общем по ситуации.
 
Вы поймите, в cookie может писаться косвенный признак авторизирован или нет, а может и не писаться. Зависит от реализации авторизации скрипта.
Просматривайте исходный код того что получили.
Говорю же что по ситуации)) Не торопитесь задавать вопросы)) Пытайтесь думать))
------------
Я сейчас добрый)) Меня сегодня не съел медведь и сижу лопаю жареные грибы с картошкой))
 
вроде уже разобрался ..Все работает ..
Только вот вопрос снова возник :
ну авторизовался , ну открылся контент страницы по моему домену ..
Но как только перехожу на оригинальный сайт -авторизации нет..Тут все понятно - т.к у меня куки и сессия сохраняются в файлик ...
Но как же мне передать данные в браузер ,чтобы они подходили для входа на оригинальном сайте ??
 
куки не передают данные между доменами. Если данные сохранились в файле, то на оригинальном сайте вам надо считать их оттуда и создать еще один кук или сессию
 
куки не передают данные между доменами. Если данные сохранились в файле, то на оригинальном сайте вам надо считать их оттуда и создать еще один кук или сессию
спасибо ..Это я понял ..Просто оригинальный сайт - не мой ..Как-то можно передать авторизацию ?

вообще на другом сайте я не использовал CURL , а выдрал из него форму авторизации и поставил себе ..И при клике сабмит меня кидало на исходный сайт и автоматом авторизовало ...ВОт код :
Код:
<form action="http://auction.matumi-car.com/auction.cgi" method="post">
                    <input type="hidden" name="acc" value="act_login">
                    <input type="hidden" name="go" value="2">
                    <input type="hidden" name="md" value="">
    
                    
                     
                    <input type="text" style='display:none;' name="id" value='test' size="15">
                    <input type="password" style='display:none;'value='test' name="pass" size="15">
                    <input type="checkbox"style='display:none;' name="login_check" value="on">
             
                        <input type="submit" value="enter">
                        <input type="reset" style='display:none;'value="??????">
               
</form>
[/spoil]

Но здесь в форме стоит action , что облегчает все ...А вот у второго сайта нету action , и поэтому меня никуда не перекидывает

[spoil]
Код:
<form id="frmLogin" method="post">
         
                <h2></h2>
                <div class="error" style="color: red; font-weight: bold; text-align: right;"></div>

                <table border="0" cellspacing="0" cellpadding="0">
                    <tbody><tr>
                        <th width="96"></th>
                        <td width="196"><input id="txtId" type="text" name="usercd" value="" maxlength="10" class="alphaNum"></td>
                    </tr>
                    <tr>
                        <th></th>
                        <td><input id="txtPasswd" type="password" name="passwd" value="" maxlength="32"></td>
                    </tr>
                </tbody></table>
                <input type="hidden" name="cmd-login" value="1">
                <div class="login_box">
                    <input type="image" src="images/login_btn.gif" alt="login" class="imgover" name="">
                </div>

            
         
         
            <h2 style="margin-top: 20px; "></h2>
            <p></p>
            <br>
            <br>
            <div style="padding: 10px; margin-bottom: 10px; border: 1px solid #0000cc;">
             
                <a id="isrcmove" class="isrcmove" href="https://isrc.moviusa.com/"></a>
            </div>
        </form>
[/spoil]

вот код второй формы авторизации... мне отслеживать id="frmLogin" или input type='image' ?

нашел обработку id="frmLogin"
[spoil]
Код:
function onLoginClick() {
    var d = phpsus_make_params("#frmLogin");
    d["cmd-login"] = 1;
    $.post(
        "/login.html",
        d,
        function (ret) {
            if (ret.status == "SUCCESS") document.location.href = ret.url;
            else {
                alert(ret.msg);
                if($("#txtPasswd").val()==''){ $("#txtPasswd").focus(); } else { $("#txtId").focus(); }
            }
        },
        "json"
    );
    return false;
}

я так понимаю с ней колдовать нужно ?
 
Последнее редактирование модератором:
Я не вижу действия по отправке формы. Может быть и действие с
input type='image'
 
Назад
Сверху