Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: как средствами php или javascript получить исходный код веб страницы
Форумы портала PHP.SU » PHP » Программирование на PHP » как средствами php или javascript получить исходный код веб страницы

Страниц (1): [1]
 

1. gibproject - 25 Ноября, 2010 - 20:59:06 - перейти к сообщению
Есть URL существующей веб страницы, получаемой по методу GET...

URL типа: http://www[dot]webpage[dot]com/page[dot]xml?[dot][dot][dot]amp;param2=text2

Задача: получить исходный код этой веб страницы и вывести его на страницу...

Исходный код одинаково был получен 2мя способами:
1 - скачан с помощью DownloadMaster при вставке URL этой страницы в закачку;
2 - URL был открыт в Mozilla Firefox потом клик правой кнопкой и "Исходный код страницы".
Пробовал воспользоваться fopen и file, потом получить содержимое через fgets, но вылазит ошибка "Warning: fgets(): 26 is not a valid stream resource in X:\XXXXXX\XXXXX\XXXXX\XXXXX\index.php on line XXX"...

Подскажите кто-нибудь как решить эту проблему...
2. ALEN - 25 Ноября, 2010 - 21:01:25 - перейти к сообщению
Есть такая классная штука, называется CURL
3. DlTA - 25 Ноября, 2010 - 21:02:51 - перейти к сообщению
file_get_contents()
только первым параметров установите необходимый URL
4. ALEN - 25 Ноября, 2010 - 21:03:53 - перейти к сообщению
DlTA
Многие хостеры закрывают такую возможность!!!
Самый лучший способ это CURL
5. gibproject - 25 Ноября, 2010 - 21:13:53 - перейти к сообщению
DlTA пишет:
file_get_contents()
только первым параметров установите необходимый URL


Спасибо, помогло, хотя раньше работало и через file(), а недавно вдруг через file() не стало открываться...

ALEN пишет:
Самый лучший способ это CURL


Через CURL мне не принципиально, страница хоть и мультиязычная, но для исходника мне нужен всё-таки код полностью на английском...
6. ALEN - 25 Ноября, 2010 - 21:16:35 - перейти к сообщению
gibproject
А при чем тут язык, просто на некоторых серверах во внешний мир функции file_get_contents и ее родители - не могу выйти.
7. OrmaJever - 25 Ноября, 2010 - 21:19:05 - перейти к сообщению
Вобще file_get_contents() презназначен для локальных файлов...
8. gibproject - 25 Ноября, 2010 - 21:26:42 - перейти к сообщению
ALEN пишет:
А при чем тут язык


Нууууу, если воспользоваться CURL, то при указании в заголовке http запроса что-то типа "Accept-Language: ru", то та же страница выведется на русском языке, что в данном примере мне не принципиально...

OrmaJever пишет:
Вобще file_get_contents() презназначен для локальных файлов


И поэтому я дико рад, что он корректно сработал на удалённом файле...)))
9. ALEN - 25 Ноября, 2010 - 21:27:35 - перейти к сообщению
OrmaJever
Ну он работает с URL но это нестабильная функция для таких задач, но правильно подмечено, что самый удобный вариант для работы с локальными файлами небольших размеров.

gibproject
ну огорчу вас, если вы используете не CURL и у вас с кодировкой проблема - то это очень кривые руки.
Кодировка от CURL не зависит!
10. gibproject - 25 Ноября, 2010 - 21:36:57 - перейти к сообщению
ALEN пишет:
ну огорчу вас, если вы используете не CURL и у вас с кодировкой проблема - то это очень кривые руки.
Кодировка от CURL не зависит!


У меня нет проблем с кодировкой, ибо iconv вполне справляется, но в данном случае мне просто нужен код страницы на английском языке...)))
11. DlTA - 25 Ноября, 2010 - 22:07:10 - перейти к сообщению
на минутку отлучился а тут уже и диалог развернулся (мануал смотрел))
gibproject, если не CURL то бывают умные "сервера" которые анализируют кто к ним щимится, и с целью избежать перегрузки и ... блокируют нежеланных, а благодоря CURL можно максимально хорошо прикинуться рядовым браузером.
12. ALEN - 25 Ноября, 2010 - 22:08:45 - перейти к сообщению
Вот тебе в тему готовое решение:
http://forum.php.su/topic.php?fo...ostid=1290714979
13. gibproject - 25 Ноября, 2010 - 22:18:16 - перейти к сообщению
DlTA пишет:
благодоря CURL можно максимально хорошо прикинуться рядовым браузером


Спасибо, о заголовках http запроса я в курсе, особенно о тех, которые как раз и отличают браузер к ним ломится или что-то левое...)))

З.Ы. Например такая строчка в заголовке вполне убедит сервер, что страницу с него требует Mozilla Firefox...)))

CODE (htmlphp):
скопировать код в буфер обмена
  1. User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.12) Gecko/20101026 MRA 5.6 (build 03278) Firefox/3.6.12
14. JustUserR - 26 Ноября, 2010 - 14:42:19 - перейти к сообщению
gibproject Использование функций осуществления работы с файловыми объектами с перегруженными аргументами включающими в себя URL-адреса целевых web-ресурсов не является рекоммендованным решением - дело в том что использование такого подхода не позволяет обеспечить поблочное считывание и передачи информационных полей а также включения требуемых HTTP-заголовков - в том числе для согласования кодовый таблиц представления данных

 

Powered by ExBB FM 1.0 RC1