[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Авторизация с помощью CURL
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
Winston
Во первых у тебя здесь ошибка
Цитата (Guest @ 4.01.2013 - 11:22)
'&ip_h=' . $ip_h; . '&email='


Во вторых если посмотреть в консоль ошибок, можно увидеть
Цитата
Uncaught Error: SECURITY_ERR: DOM Exception 18
zelenin
может быть кому-то поможет, выложил свой класс для работы с CURL https://github.com/zelenin/curl
Поддерживает get и post, cookie. Авторизоваться - дело минуты.
Пока предоставляет не полный функционал курла, но в 95% случаях хватит за милую душу.
ICEsoon
Всем Здраствуйте, Обращаюсь к более опытным php разработикам, так как решить задачу на текущий момент сам не смог.

Итак задача.
Есть сайт asos.com (логин:icesoon@inbox.ru, pass:www1111). Необходимо, чтобы товары, добавленные в корзину, скрипт обновлял(нажимал на кнопку обновить) раз в 30 минут, иначе резерв снимается (резерв стоит 1 час) и товары с корзины удаляются.

Написал код. Авторизация происходит без проблем. Но с отправкой post запроса ({ "currentInventoryId" : "2612937" , "currentItemId" : "668388760" , "changeBasketItemInventoryId" : "2612937" , "quantity" : "1"}) на обновление происходит затык.

Как решить проблемку? Очень нужно.


<?php

$asos = curl_init ();
curl_setopt ($asos,CURLOPT_FOLLOWLOCATION,1);
curl_setopt ($asos, CURLOPT_FRESH_CONNECT,1);
curl_setopt ($asos, CURLOPT_RETURNTRANSFER,1);
curl_setopt($asos, CURLOPT_FAILONERROR,0);
curl_setopt($asos, CURLOPT_TIMEOUT,11); // макс. время выполнение каждой функции сек
curl_setopt ($asos, CURLOPT_UNRESTRICTED_AUTH,1);
curl_setopt ($asos, CURLOPT_CONNECTTIMEOUT,60); //таймаут
curl_setopt ($asos, CURLOPT_MAXCONNECTS,15); //максимум соединений
curl_setopt($asos, CURLOPT_HEADER, 1); // выводим заголовки
curl_setopt ($asos, CURLOPT_URL,"https://www.asos.com/");// страница куда отправляется пост запрос
curl_setopt($asos, CURLOPT_POST,1); // устанавливаем метод POST
curl_setopt($asos, CURLOPT_POSTFIELDS,'__LASTFOCUS=&__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=%2FwEPDwUKLTgzODA2MjE5OA9kFgJm D2QWBAIBD2QWBAICD2QWAgIBDxYCHglpbm5lcmh0bWwFDlNpZ24gaW4gfCBBU09TZAIDD2QWAgIDD2QWAmYPFgIeC18hSXRlbUNvdW50AgEWAmYPZBYCZg8VAg5EQ1NleHQuY291bnRyeQJVQWQCAw8WAh4FY2xhc3MFAmdiFgICAQ9kFgICAQ9kFgYCAw9kFgICAQ8PFgIeC EltYWdlVXJsBVFodHRwczovL2Fzc2V0cy5hc29zc2VydmljZXMuY29tL2Fzb3Mtc2VjdXJlL2ltYWdlcy9jb3JlL2Fzb3MtbWFpbi1oZWFkZXItbG9nby5naWZkZAIFDxYCH wAFB1NpZ24gSW5kAgsPZBYEAgEPZBYGAgMPD2QWAh4MYXV0b2NvbXBsZXRlBQNvZmZkAgcPD2QWAh8EBQNvZmZkAgkPD2QWAh4Hb25DbGljawUXcmV0dXJuIHZhbGlkYXRlbG9naW4oKTtkAgMPZBYEAgEPFgIeB1Zpc2libGVoFggCAQ8WAh4EVGV4dAUMVGhhbmsgeW91Li4uZAIDDxYCH wcFQldlIGhhdmUgc2VudCBhIHBhc3N3b3JkIHJlc2V0IGxpbmsgdG8gdGhlIGZvbGxvd2luZyBlbWFpbCBhZGRyZXNzOmQCBw8WAh8HBTNQbGVhc2UgZm9sbG93IHRoZSBsaW5rICYgcmVzZ XQgeW91ciBwYXNzd29yZCB3aXRoaW5kAgsPFgIfBwUGaG91cnMuZAIDD2QWBAIBDxYCHwcFV0VudGVyIHlvdXIgQVNPUyByZWdpc3RlcmVkIGVtYWlsIGFuZCB3ZSB3aWxsIGVtYWlsIHlvdSBhIGxpbmsgdG8gY3JlYXRlIGEgbmV 3IHBhc3N3b3JkOmQCBQ8PFgIfBwURUkVTRVQgTVkgUEFTU1dPUkQWAh8FBR9yZXR1cm4gdmFsaWRhdGVlbWFpbHJlbWluZGVyKCk7 ZGS2W%2F2cKboTUCBXhTOaS0rntV%2F81A%3D%3D&__EVENTVALIDATION=%2FwEWCAKpssjhBwKLuK7GCwL62p7EAwKxsdjYAgLEne%2BKDgLxuc%2FMCwLa 8P2aAwL96M1fnhDtGkQ5lYSuYtbKAWOfM1pe73w%3D&_ctl0%3AContentBody%3ABackUrlField=http%3A%2F%2Fwww.asos.com%2Fpgeproduct.aspx%3Fvia%3Drec%26iid %3D2711331%26%26action%3Dsignout&_ctl0%3AContentBody%3AtxtEmail=icesoon%40inbox.ru&_ctl0%3AContentBody%3AtxtPassword=www1111&_ctl0%3AContentBody%3AbtnLogin=Sign+in&_ctl0%3AContentBody%3AtxtEmailReminder=');
curl_setopt($asos, CURLOPT_COOKIEFILE, dirname(__FILE__) . '/cookie5.txt');//записываем куки
curl_setopt($asos, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookie5.txt');
curl_setopt($asos, CURLOPT_USERAGENT, "Opera/12.00 (Windows NT 5.1; U; ru) Presto/2.2.0"); //описываем информацию о себе useragent
curl_setopt ($asos, CURLOPT_REFERER,'https://www.asos.com/pgecustlogin.aspx');
curl_setopt ($asos, CURLOPT_SSL_VERIFYHOST, 0);//не проверяем ssl
curl_setopt ($asos, CURLOPT_SSL_VERIFYPEER, 0);

$print = curl_exec($asos); // логинимся
echo $print;
curl_setopt($asos, CURLOPT_POST,1); // устанавливаем метод POST
curl_setopt ($asos, CURLOPT_URL, "http://www.asos.com/basketservices/UpdateBasketItem.asmx/UpdateBasketItem");
curl_setopt($asos, CURLOPT_POSTFIELDS, '{ "currentInventoryId" : "2612937" , "currentItemId" : "668388760" , "changeBasketItemInventoryId" : "2612937" , "quantity" : "1"}');
curl_exec($asos);
curl_close($asos);
?>


user posted image
2 - это клик на обновление
3 - сам пост запрос
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.