Подключите к https://oauth.live.com/authorize с помощью curl - PullRequest
0 голосов
/ 23 февраля 2012

Я пытаюсь получить Windows Live соединения с PHP.Я получаю это с JS с WL SDK, но не с PHP.Это мой код:

$CLIENT_ID =variable_get('example_contact_grabber_hotmail_client_id',NULL);
$REDIRECT_URL = variable_get('example_contact_grabber_hotmail_url_callback',NULL);
//dpm($REDIRECT_URL);
$url = "https://oauth.live.com/authorize?client_id=$CLIENT_ID&scope=wl.signin&response_type=code&redirect_uri=$REDIRECT_URL";
$url = str_replace( "&", "&", urldecode(trim($url)) );
//dpm($url);
$ch = curl_init($url);
curl_setopt( $ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1" );
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_VERBOSE,0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, TRUE); 
  $salida = curl_exec($ch);
  curl_close($ch);
  $todo = split("\n",$salida);

//dpm($todo);

Запрос дает мне это сообщение.

Array
(
    [0] => <html><head><title>Object moved</title></head><body>
    [1] => <h2>Object moved to <a href="https://login.live.com/login.srf?wa=wsignin1.0&amp;rpsnv=11&amp;checkda=1&amp;ct=1329999219&amp;rver=6.1.6208.0&amp;wp=MBI_SSL&amp;wreply=https:%2F%2Foauth.live.com%2Fauthorize%3Fclient_id%3D000000004008DFE4%26scope%3Dwl.signin%26response_type%3Dcode%26redirect_uri%3Dhttp:%2F%2Fpruebas.eneomed.es%2Flivesdk%2FSamples%2FPHP%2FOauthSample%2Fcallback.php%26auth_redirect%3Dtrue&amp;lc=1033&amp;id=276649&amp;popupui=1">here</a>.</h2>
    [2] => </body></html>
    [3] => 
)

Если я проверю $url в Firefox, все будет хорошо.

1 Ответ

0 голосов
/ 23 февраля 2012

Попробуйте добавить:


curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
//And change
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);  //true to false

Надеюсь, это поможет

...