cURL авторизация Вконтакте
Подскажите, пожалуйста, почему у меня не получается авторизоваться в контакте с сервера? Дома у меня прекрасно заходит и выводит мою страничку (на Denwer). Как только я выкладываю все на сервер, то все перестает работать. Вот код, с помощью которого я пытаюсь авторизоваться:
function get_page_post($url,$postdata) { $uagent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)"; $ch = curl_init( $url ); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_ENCODING, ""); curl_setopt($ch, CURLOPT_USERAGENT, $uagent); curl_setopt($ch, CURLOPT_TIMEOUT, 120); curl_setopt($ch, CURLOPT_FAILONERROR, 1); curl_setopt($ch, CURLOPT_AUTOREFERER, 1); curl_setopt($ch, CURLOPT_COOKIEJAR, "cookies.txt"); curl_setopt($ch, CURLOPT_COOKIEFILE,"cookies.txt"); $content = curl_exec( $ch ); $err = curl_errno( $ch ); $errmsg = curl_error( $ch ); $header = curl_getinfo( $ch ); curl_close( $ch ); $header['errno'] = $err; $header['errmsg'] = $errmsg; $header['content'] = $content; return $header; } |
выведете все ошибки
мы что телепаты? может у вас на сервере вообще закрыты внешние соединения и удален CURL? |
Возвращается пустая страница... Когда вывел номер ошибки и ошибку cURL, то получил вот что:
Цитата:
|
InviS, а если обратится к vkontakte по ip (93.186.231.219)?
|
та же проблема с контактом, вернее - с хостингом.
А как обратиться к сайту по айпи (извините меня пожалуйста)?
Дело в том, что когда я обращаюсь по "api.vkontakte.ru/api.php?...." - все нормально (на локальном сервере), а когда обращаюсь по "93.186.224.232/api.php?....." получаю FORBIDEN. В чем ошибка, проясните, пожалуйста, очень прошу.:blink: |
piter, в таком случае - никак. Что api, что main - на одном IP. Да и проблема скорее всего не в этом. Попробуйте cURL'ом обратится куда-то еще (на тот же гугл). Тоже будет Couldn't resolve hostname?
|
Цитата:
$uagent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,'http://213.180.204.8/logo.png'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_USERAGENT, $uagent); curl_setopt($ch, CURLOPT_TIMEOUT, 120); curl_setopt($ch, CURLOPT_HTTPHEADER,array( 'Host: ya.ru' )); $content = curl_exec( $ch ); file_put_contents('logo.png',$content); curl_close( $ch ); |
Gvozd, и? ping vkontakte.ru - 93.186.231.219. ping api.vkontakre.ru - 93.186.231.219. Как мне получить http://93.186.231.219/api.php? 403 Forbidden. На серваке, видимо, будет что-то вроде http://93.186.231.219/api/api.php, но мне-т от этого ни холодно, ни жарко.
|
e1f,
ты дурак или невнимательный?! в своем скрипте я заменил curl_setopt($ch, CURLOPT_URL,'http://213.180.204.8/logo.png'); на curl_setopt($ch, CURLOPT_URL,'http://93.186.231.219/api.php'); и в свою очередь заменил 'Host: ya.ru' на 'Host: api.vkontakte.ru' и как итог получил овтет: Код:
<?xml version="1.0" encoding="utf-8"?> |
все ли обязательные параметры передаёте?
тут уже всё прочитали? Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 17:11. |