libcurl+hotmail
Цитата:
<?php
$url="https://signup.live.com/newuser.aspx?mkt=EN-US&revipc=UA&ts=4141482&sh=J5LA&ru=http%3a%2f%2fmail.live.com%2f%3fnewuser%3dyes%26hm%3d1&rx=http%3a%2f%2fget.live.com%2fmail%2foptions";
$curl = curl_init();
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_HEADER, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, FALSE);
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($curl, CURLOPT_URL, urldecode($url));
$a = curl_exec($curl);
curl_close ($curl);
echo $a;
?>
$url="https://signup.live.com/newuser.aspx?mkt=EN-US&revipc=UA&ts=4141482&sh=J5LA&ru=http%3a%2f%2fmail.live.com%2f%3fnewuser%3dyes%26hm%3d1&rx=http%3a%2f%2fget.live.com%2fmail%2foptions";
$curl = curl_init();
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_HEADER, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, FALSE);
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($curl, CURLOPT_URL, urldecode($url));
$a = curl_exec($curl);
curl_close ($curl);
echo $a;
?>
Вышеприведённый скрипт работает со всеми HTTPS серверами, с которыми я его тестировал (passport.webmoney.ru, enum, topcoder, ...). Единственный hotmail (адрес в коде), почему-то выдаёт “302 found” и перенаправляет на главную страницу, хотя я ему посылал все куки, которые создаёт http://get.live.com/mail/overview (при вставке того же адреса в браузере, даже с пустым куки, всё работает).
Может кто-то подсказать в чём проблема, где я что упустил.
P.S. стоит PHP 5.2.5, Apache 2.2.6, Win32.