Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
32 / 31 / 21
Регистрация: 13.07.2014
Сообщений: 374
1

File_get_content(.shtml);

26.11.2018, 20:55. Показов 950. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день,
есть функция , извлекающая контекст страниц:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
            function getUrl($url) {
                $c = curl_init();
                curl_setopt($c, CURLOPT_URL, $url);
                curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
                $output = curl_exec($c);
                $code = curl_getinfo($c, CURLINFO_HTTP_CODE);
                curl_close($c);
                if($code != 200)
                    return 0;
                else
                    return $output;
            }
Но расширение .shtml не возвращает результат,
возможно ли как либо обмануть сервер, что бы получать контекст с таких страниц ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.11.2018, 20:55
Ответы с готовыми решениями:

file_get_content () не видет файла
не как понять не могу вчем прикол. есть каталог в нем два файла первый pre_news.tpl второй...

Перекодировать строку после file_get_content
Здравствуйте, пишу парсер погоды с яндекс, использую библиотеку simple_html_dom.php. Получаю...

Поменять с *.shtml на *.php
Имею самописную CMS. Главный файл index.shtml. Есть идея подключать собственные пхп-скрипты к этому...

Обработка shtml текста в ббсод
народ поскажите у меня есть ббкод <?php function createBBtags($text) { //...

7
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
27.11.2018, 06:40 2
Цитата Сообщение от WeMeSder Посмотреть сообщение
Но расширение .shtml не возвращает результат,
возможно ли как либо обмануть сервер, что бы получать контекст с таких страниц ?
Расширение ни при чём. Разве что если сервер при запросах к подобным адресам отклоняет запрос, если не были переданы заголовки.
Если в обозревателе URI открывается, попробуйте отправлять точно такие же заголовки при помощи CURL.
1
32 / 31 / 21
Регистрация: 13.07.2014
Сообщений: 374
27.11.2018, 12:06  [ТС] 3
Вот такие заголовки получаю вижу:
Accept: */*
Accept-Encoding: gzip, deflate, br
Accept-Language: ru-RU
Cache-Control: no-cache
Connection: Keep-Alive
Host: www.eurosport.ru
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134

пытаюсь передать дописав функцию
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
            function getUrl($url) {
            
                $headers = array(
                    'Accept: */*',
                    'Accept-Encoding: gzip, deflate, br',
                    'Accept-Language: ru-RU',
                    'Cache-Control: no-cache',
                    'Connection: Keep-Alive',
                    'Host: www.eurosport.ru',
                    'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134'
                );
                $c = curl_init();
                curl_setopt($c, CURLOPT_URL, $url);
 
                curl_setopt($c, CURLOPT_HTTPHEADER, $headers);
                curl_setopt($c, CURLOPT_POST, true);
                curl_setopt($c, CURLOPT_POSTFIELDS, "null");
 
                curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
                $output = curl_exec($c);
                $code = curl_getinfo($c, CURLINFO_HTTP_CODE);
                curl_close($c);
                if($code != 200)
                    return $output;
                else
                    return $output;
            }
но ответ все тот же, ошибка 403
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
27.11.2018, 15:30 4
Адрес, к которому обращаетесь, можете прислать?
0
32 / 31 / 21
Регистрация: 13.07.2014
Сообщений: 374
27.11.2018, 17:49  [ТС] 5
вот такой адрес:
https://www.eurosport.ru/figur... 7281.shtml
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
27.11.2018, 18:10 6
Не могу воспроизвести ошибку. У меня с локального нормально данную страницу получает.
Возможно, дело в IP, с которого запросы выполняете. Попробуйте использовать прокси, мало ли.
0
32 / 31 / 21
Регистрация: 13.07.2014
Сообщений: 374
27.11.2018, 23:21  [ТС] 7
Так на локалке и у меня все норм,
только если сервером, через curl загружать то 403

с прокси тоже ничего не вышло,
добавил строку

PHP
1
curl_setopt($c, CURLOPT_PROXY, '185.20.115.114:57236');
вообще не загружается ничего,
// curl_getinfo($c, CURLINFO_HTTP_CODE) => 0
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
28.11.2018, 06:23 8
Цитата Сообщение от WeMeSder Посмотреть сообщение
Так на локалке и у меня все норм
Раз у вас работало на локальном, значит проблема точно не в расширении .shtml
Надо было ещё при создании темы уточнять, что не работает именно на хостинге.
Цитата Сообщение от WeMeSder Посмотреть сообщение
с прокси тоже ничего не вышло
Используйте другой.
0
28.11.2018, 06:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.11.2018, 06:23
Помогаю со студенческими работами здесь

Отличие file_get_content от file_get_html
Не могу уяснить для себя отличия...

Оверлеи и всякие pop-up окна не дают получить HTML через file_get_content или RollingCurl
Привет, люди! Вопрос по PHP. Есть сайты, с которых нужно получить HTML-код. В принципе...

Регулярные выражения и file_get_content
При использовании такого выражения: '\<script*>*?\<\/script\>' выдает ошибку "Delimiter must not be...

И снова SHTML
Что я делаю не так? Есть страница index.shtml (главная) и файл in.shtml следующего содержания: ...


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

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