Форум программистов, компьютерный форум, киберфорум
PHP: сети
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/41: Рейтинг темы: голосов - 41, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 11.09.2013
Сообщений: 4
1

cURL Error: couldn't connect to host

11.09.2013, 12:06. Показов 8606. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
добрый день)
в общем делаю авторизацию на сайте для соц. сетей.
материала про это много, но ответа на свой вопрос я не нашел.
Вот в чем суть проблемы:
при регистрации на Facebook необходимо отправить GET запрос для получения токена. пишу его так:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
if (isset($_GET['code'])) {
        
        $url = "https://graph.facebook.com/oauth/access_token?client_id=".CLIENT_ID."&redirect_uri=".REDIRECTURI."&client_secret=".SECRET."&code=".$_GET['code'];
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        $result = curl_exec($ch);
        curl_close($ch);
        if ($result === FALSE) {
            echo "cURL Error: " . curl_error($ch);
        }
    }
на что мне выводится cURL Error: couldn't connect to host
по при этом
PHP
1
echo "<iframe src='".$url."'></iframe>";
создает фрейм и в фрейме отображает полученный токен.

аналогичный запрос для вк работает нормально.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.09.2013, 12:06
Ответы с готовыми решениями:

Couldn't resolve host CURL
Не могу спарсить страницу( Пишет Couldn't resolve host 'www.akimat-sarkan.gov.kz'. Подскажите в чем...

Curl ошибка "couldn't resolve host ."
Привет всем! Такой вопрос: Вот используемая функция для получения кода страницы. function...

gpgkeys: HTTP fetch error 7: couldn't connect to host
gpgkeys: HTTP fetch error 7: couldn't connect to host хотел поставить KDE на свою ubuntu 10.04,...

IdHttp.connect - socket error # 11001 host not found
Всем привет! Делаю проверку доступности сайта. Код работает, все хорошо, условия выполняются, но...

7
215 / 215 / 73
Регистрация: 12.03.2013
Сообщений: 485
11.09.2013, 14:07 2
Без проверки сертификата:
PHP
1
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
С проверкой сертификата (безопасное соединение с тем кем нужно):
PHP
1
2
3
4
$crtPath = '/path/to/VeriSignClass3PublicPrimaryCertificationAuthority-G5.crt';
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_CAINFO, $crtPath);
Для получения сертификата открыть FireFox и ввести адрес, затем щелчок по заначку с замком:
Название: lock.png
Просмотров: 1189

Размер: 2.3 Кб
Далее «Подробнее»->«Просмотреть сертификат»->«Подробности» выбрать топ и затем - «Экспортировать». Формат: Сертификат X.509 в формате PEM.
1
0 / 0 / 0
Регистрация: 11.09.2013
Сообщений: 4
12.09.2013, 10:07  [ТС] 3
в обоих случаях выдает
cURL Error: couldn't connect to host

file_get_contents($url) тоже не работает
0
215 / 215 / 73
Регистрация: 12.03.2013
Сообщений: 485
12.09.2013, 10:30 4
Возможно FB лочит IP Вашего сайта, раз соединения есть с VK. Так что proxy.
0
0 / 0 / 0
Регистрация: 11.09.2013
Сообщений: 4
13.09.2013, 14:52  [ТС] 5
cURL Error: Received HTTP code 503 from proxy after CONNECT
ответ от прокси
я так понимаю что это собственно то же самое

я уже все перепробовал, добавил реферер, кукис, хедер
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
$url = 'https://graph.facebook.com/oauth/access_token';
        $url_header = "https://graph.facebook.com/oauth/access_token?client_id=".CLIENT_ID."&redirect_uri=".urlencode(REDIRECTURI)."&client_secret=".SECRET."&code=".$_GET['code']." HTTP/1.1"; 
        echo $url_header;
        $post_data = array (
            "client_id" => CLIENT_ID,
            "client_secret" => SECRET,
            "code" => $_GET['code'],
            "redirect_uri" => REDIRECTURI
            );
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
        curl_setopt($ch, CURLOPT_HEADER, true);
        $headers = array();
        $headers[] = 'GET '.$url_header;
        $headers[] = 'Accept: image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*';
        $headers[] = 'Accept-Language: ru';
        $headers[] = 'User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)';
        $headers[] = 'Accept-Encoding: gzip, deflate';
        $headers[] = 'Connection: Keep-Alive';
        $headers[] = 'Host: faceook.com';
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
        curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);
        curl_setopt($ch, CURLOPT_SSLCERT, 'VeriSignClass3PublicPrimaryCertificationAuthority-G5.pem');
        curl_setopt($ch, CURLOPT_USERAGENT, 'Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.9.168 Version/11.51');
        curl_setopt($ch, CURLOPT_REFERER, 'http://fallart.zz.mu/fb_login.php');
        curl_setopt($ch, CURLOPT_PROXY, '27.50.11.164:80');
        $result = curl_exec($ch);
        if ($result === FALSE) {
            echo "cURL Error: " . curl_error($ch);
        }
        curl_close($ch);
все что можно было, делаю максимально похоже на запрос от браузера - и нифига

а в статьях по этой теме достаточно обычного запроса вида
PHP
1
2
3
4
5
6
7
8
9
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$result = curl_exec($ch);
curl_close($ch);
Добавлено через 55 минут
сделал авторизацию через гугл
все нормально работает
не могу понять почему одно и то же для вк и гугла работает а для фб нет, хотя должно бы
0
0 / 0 / 0
Регистрация: 11.09.2013
Сообщений: 4
19.09.2013, 09:25  [ТС] 6
вопрос решен, тему можно закрывать

ответ банален - на моем хостинге заблокирован Facebook API
0
0 / 0 / 8
Регистрация: 17.10.2012
Сообщений: 289
23.04.2015, 23:04 7
у меня кажись, тоже такая проблема,как ты разблокировал на своем хостинге?
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
26.04.2015, 11:33 8
Цитата Сообщение от smokehawker Посмотреть сообщение
у меня кажись, тоже такая проблема,как ты разблокировал на своем хостинге?

Не по теме:

Теме полтора года... :) Вряд ли автор все еще читает этот форум...

0
26.04.2015, 11:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.04.2015, 11:33
Помогаю со студенческими работами здесь

cURL error 28: connect() timed out!
Здравствуйте! Подскажите пожалуйста где проблема: Есть сайт и форум. Последние 10 сообщений с...

Perl + MySQL = ошибка DBI connect(dbname=mysql; host=localhost',''...) failed: Couldnt connect to
С перлом беда какая-то, третий день мучаюсь и ничего не получается... хелп!!!. use dbi; $dbh =...

Ammyy: пишет Couldn't connect to routers как это исправить?
Жму на кнопку Подключиться, вижу фразу: Connecting to router Через пару минут появляется в...

Unable to connect to any of the specified MySQL host
Здравствуйте уважаемые, только начал работать с БД и тут тебе на. Подскажите пожалуйста какие...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru