Форум программистов, компьютерный форум, киберфорум
PHP: API, боты
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
30 / 26 / 9
Регистрация: 06.03.2015
Сообщений: 209
1

Парсинг контента из вк

23.11.2016, 21:59. Показов 1465. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго времени уток. Я сегодня столкнулся с проблемой в функции file_get_contents.
Код
Warning: file_get_contents() [function.file-get-contents]: Unable to find the wrapper "https" - did you forget to enable it when you configured PHP?
Что я предпринял:
1) проверил работает ли конфиг(php_ini_loaded_file) - Работает.
2) проверил php.ini и раскомментил строку extension=php_openssl.dll
3) не нашел php_openssl.dll, пришлось качать атседова . Вырубил денвер, установил пакет и обратно врубил его. - Ни-че-го
4) заново проверил php.ini. - строка extension=php_openssl.dll в порядке(без ; )
5) вернулся к пункту №3 и вот оно, БИНГО. Файл php_openssl.dll почему-то не установился вместе с пакетом. Вопрос почему и что с этим делать? Попробовать заново переустановить пакет?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.11.2016, 21:59
Ответы с готовыми решениями:

Парсинг контента
Здравствуйте, вопрос такой: хочется выводить на сайте погоду, данные о погоде брать хочу отсюда...

Парсинг контента
Здравствуйте. Имею сайт на вордпресс по типу цитатника, в 1-ой записи все цытаты определенной...

Парсинг динамического контента
Не могу решить проблему с получением значение, которое появляется на сайте после работа javascript....

Парсинг динамическоого контента
Не могу решить проблему с получением значение, которое появляется на сайте после работа javascript....

7
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
23.11.2016, 22:05 2
1) Выкинуть денвер
2) Установить любую современную сборку
0
30 / 26 / 9
Регистрация: 06.03.2015
Сообщений: 209
23.11.2016, 23:09  [ТС] 3
современную сборку? О чем идет речь?
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
23.11.2016, 23:49 4
Цитата Сообщение от Dave_ Посмотреть сообщение
О чем идет речь?
https://www.apachefriends.org/ru/index.html
http://open-server.ru/
http://www.wampserver.com/ru/
и др.
0
30 / 26 / 9
Регистрация: 06.03.2015
Сообщений: 209
26.11.2016, 18:42  [ТС] 5
Цитата Сообщение от Jewbacabra Посмотреть сообщение
https://www.apachefriends.org/ru/index.html
http://open-server.ru/
http://www.wampserver.com/ru/
и др.
Скачал XAMPP. Вылезла вот такая вот ошибочка при попытке отправить запрос к АПИ. С остальными запросами все хорошо, но вот сие...
Код
Warning: file_get_contents(https://api.vk.com/method/wall.post?group_id=-106732181&message=Test API): failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request
PHP
1
2
3
4
5
$params = array(
                    'group_id'      =>$config['group_id'], 
                    'message'       =>'Test API' 
                );
                $postwall = json_decode(file_get_contents('https://api.vk.com/method/wall.post' . '?' . urldecode(http_build_query($params))), true);
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
26.11.2016, 18:51 6
Зачем urldecode? http build query специально формирует строку запроса и кодирует ее, urldecode же раскодирует, делая невалидной
0
30 / 26 / 9
Регистрация: 06.03.2015
Сообщений: 209
26.11.2016, 23:22  [ТС] 7
Убрал. Теперь строка выглядит так:
Код
$postwall = json_decode(file_get_contents('https://api.vk.com/method/wall.post' . '?' . http_build_query($params)), true);
И вот так...
failed to open stream: HTTP request failed! HTTP/1.1 401 Unauthorized in...

Добавлено через 1 час 7 минут
Насколько понял мой сонный мозг, у меня проблемы с доступом. Может чего не так сделал...
PHP
1
2
3
4
5
6
7
8
9
10
11
12
echo $link = '<p><a href="' . $url . '?' . urldecode(http_build_query($params)) . '">Аутентификация через ВКонтакте</a></p>';
            
            if (isset($_GET['code'])) // наличие ключа после прохождения по ссылки
            {
                $params = array(
                    'client_id' => 5740197,
                    'client_secret' => '<вырезано>',
                    'code' => $_GET['code'],
                    'redirect_uri' => 'http://localhost/test.php'
                );
 
                $token = json_decode(file_get_contents('https://oauth.vk.com/access_token' . '?' . urldecode(http_build_query($params))), true);
Никакой разницы между с\без urldecode нету.
0
Модератор
Эксперт JS
5198 / 2080 / 406
Регистрация: 06.01.2013
Сообщений: 4,794
27.11.2016, 18:00 8
Dave_, не стоит палить свой client_secret
Лучше смените, ибо он мог или уже утечь, или попасть в кэш гугла...

А теперь по делу. Для доступа к методу, например, wall.post не имеет смысла пытаться использовать Client Credentials Flow.
Ибо он просто не даёт данных прав.

Вам необходимо получить ключ доступа Implicit Flow; для полного доступа на уровне Standalone-приложения через PHP его получить невозможно, необходимо выполнить запрос ручками, после чего записать access_token в настройки.

Здесь [ vk.com - dev ] описано, как именно его получить. Обратите внимание, что standalone-приложение должно передать в redirect_uri https://oauth.vk.com/blank.html
0
27.11.2016, 18:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.11.2016, 18:00
Помогаю со студенческими работами здесь

Парсинг и number_format контента
Нужно получить USD баланс Perfect Money аккаунта: function GET_BALANCE($ACCID, $PASS, $PURSE){ ...

Парсинг контента с AJAX запросом
Здравствуйте! Для парсинга использую библиотеку jsoup. С сайта нужно спарсить контент, который...

Парсинг динамически создаваемого контента
Как осуществить парсинг к примеру таких сайтов http://plusminus.by/ , кде содержимое(коэффициенты)...

Верстка макетов и парсинг контента
Всем доброго дня, хочу вам представить свой список услуг в плане верстки и работы с парсингом...


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

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