Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Сеть > Вход на eBay с помощью cURL


Автор: eugenesp 17.10.2006, 18:15
Возникла такая задача - авторизоваться на eBay. Решено было реализовать с использованием библиотеки cURL. Возможно это реально сделать с помощью сокетов, но все же curl, мне кажется, в разы удобнее. Итак написан такой код:
        
Код

        $ebay_user_id = "xxxxx"; // Please set your Ebay ID
        $ebay_user_password = "qqqqq"; // Please set your Ebay Password
        $cookie_file_path = "temp/cook.txt"; // Please set your Cookie File path

        $LOGINURL = "http://signin.ebay.com/aw-cgi/eBayISAPI.dll?SignIn";
        $agent = "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)";
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL,$LOGINURL);
        curl_setopt($ch, CURLOPT_USERAGENT, $agent);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
        curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);
        $result = curl_exec ($ch);
        curl_close ($ch);

        // 2- Post Login Data to Page http://signin.ebay.com/aw-cgi/eBayISAPI.dll

        $LOGINURL = "http://signin.ebay.com/aw-cgi/eBayISAPI.dll";
        $POSTFIELDS = 'MfcISAPICommand=SignInWelcome&siteid=0&co_partnerId=2&UsingSSL=0&ru=&pp=&pa1=&pa2=&pa3=&i1=-1&pageType=-1&userid='. $ebay_user_id .'&pass='. $ebay_user_password;
        $reffer = "http://signin.ebay.com/aw-cgi/eBayISAPI.dll?SignIn";
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL,$LOGINURL);
        curl_setopt($ch, CURLOPT_USERAGENT, $agent);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS,$POSTFIELDS);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($ch, CURLOPT_REFERER, $reffer);
        curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
        curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);
        $result = curl_exec ($ch);
        curl_close ($ch);
        print $result;


Однако на экран выводится такого вида сообщение: The browser you are using is rejecting cookies. Так что, по всей видимости, проблема с куками. Но вот как эту проблему решить я не знаю. Прошу помощи...


Автор: Eugene_Bond 20.10.2006, 07:23
Все автоматические операции  на eBay возможны только с использованием специального http://developer.ebay.com/common/api/.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)