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, время: 04:01. |