Промучился полдня и решил задать вопрос на форуме. Задача: получить короткий URL через сервис GOO.GL с помощью Curl. Есть: 1.$myURL = "http://ya.ru"; // ссылка которую нужно сократить 2.$key ="AIzaSyDLNXNHh_X1U3bPFL7jsfOnUcGO4FJifLk"; // ключ API GOO.GL Далее начинаются танцы с curl_setopt + юзер агент и прочие наборы настроек. Но к сожалению ни как не смог прийти к рабочему коду. И самое главное не могу понять в чем ошибка. Очень нужна ваша помощь, что бы затем сравнить со своей писаниной и понять, где "я дурак" ...
Да Бог с ними с этим ключем ... я реально в цикл уже вошел (одни и те же действия по кругу делаю), уже до кодировок файлов дошло. Вот "грязный код" ... может кто то хоть намекнет? Код (Text): $my_url = "http://yandex.ru"; $access_key = "**********************************************"; $my_headers = array( 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:19.0) Gecko/20100101 Firefox/19.0', 'Content-Type: application/json'); $data = json_encode(array("longUrl"=>$my_url)); $data = array("longUrl"=>$my_url); $googlurl = "https://www.googleapis.com/urlshortener/v1/url?key=".$access_key; $googlurl = urlencode($googlurl); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$googlurl); curl_setopt($ch, CURLOPT_VERBOSE,1); curl_setopt($ch, CURLOPT_HEADER,0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30); curl_setopt($ch, CURLOPT_HTTPHEADER, $my_headers); $result = curl_exec($ch); curl_close($ch); echo $result; var_dump(json_decode($result)); var_dump(json_decode($result, true));
Благодарю Вас mkramer за предложение! Хотелось бы "решить с помощью Curl", он для этих целей и предусмотрен в принципе. А еще больше хочу понять, в чем я затупил ... P.S.(Сижу ковыряю этот курл и ищу свою же ошибку ... пока не нашел ...) Добавлено спустя 13 минут 46 секунд: Всем спасибо! Вопрос решен!