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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Вопрос по теории fopen

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: fopen("http://www.site.com","r")
Djin_dj
Отправлено: 21 Мая, 2010 - 16:38:57
Post Id



Частый гость


Покинул форум
Сообщений всего: 180
Дата рег-ции: Июнь 2008  
Откуда: Россия


Помог: 0 раз(а)




есть такакй функция, которая читает содержимоей файла на удаленном хосте.

Когда я вхожу броузером, я также могу просмотреть исходный код страницы

Будут ли отличия
в статистике сайта
когда fopen выполняется кроном и человек заходит из броузера!

Подразумеваю, что да! Только ли в header'ах?
 
 Top
Мелкий Супермодератор
Отправлено: 21 Мая, 2010 - 18:51:16
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




запрашивайте курлом и замените все заголовки на заголовки от браузера, тогда различий не будет.
Правда, косвенно выяснить, что запрашивается всё равно скриптом, можно - по тому, выполняется ли JS. (косвенно, т.к. js можно вырубить)


-----
PostgreSQL DBA
 
 Top
EuGen Администратор
Отправлено: 21 Мая, 2010 - 18:53:24
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Подделать можно все, было бы желание.
Открывать же fopen удаленные ресурсы не есть правильно (как выше замечено, для этого есть curl)


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Djin_dj
Отправлено: 21 Мая, 2010 - 21:57:47
Post Id



Частый гость


Покинул форум
Сообщений всего: 180
Дата рег-ции: Июнь 2008  
Откуда: Россия


Помог: 0 раз(а)




EuGen пишет:
Подделать можно все, было бы желание.
Открывать же fopen удаленные ресурсы не есть правильно (как выше замечено, для этого есть curl)

на самом деле надо парсить чужие html 2 раз в день но чтобы сервер узнал что это бот не сразу!
curl вещь занимательная, изучу вопрос с курл, он возвращает страницу или текст страницы?
 
 Top
Мелкий Супермодератор
Отправлено: 21 Мая, 2010 - 23:05:21
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Djin_dj пишет:
curl вещь занимательная, изучу вопрос с курл, он возвращает страницу или текст страницы?

он возвращает то, что ответил сервер, можно даже со всеми заголовками сохранить.


-----
PostgreSQL DBA
 
 Top
Champion Супермодератор
Отправлено: 22 Мая, 2010 - 09:17:38
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




Есть у fopen() третий параметр - контекст. Он создается вот этой функцией.
http://www.php.net/manual/en/fun...ntext-create.php
И, в принципе, какую-то часть вещей можно сделать без курла. Хотя, курлом проще конечно.

Djin_dj пишет:
Будут ли отличия
в статистике сайта
когда fopen выполняется кроном и человек заходит из броузера!
Смотря как эту статистику ведут, пользуются ли в ней информацией, передаваемой браузером.
 
 Top
JustUserR
Отправлено: 22 Мая, 2010 - 12:48:07
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Djin_dj пишет:
Curl вещь занимательная, изучу вопрос с курл, он возвращает страницу или текст страницы?
Он возвращает содержимое тела HTTP-ответа расшифрованное в соответствии с Content-transfer-encoding - и в конкнретном случае это может быть HTML-документ Для получения текста можно или воспользоваться регулярными выражениями - или сгенерирвать страницу с JS-скриптом и получить текст без тегов с помощью свойства document.body.innerText
Djin_dj пишет:
Когда fopen выполняется кроном и человек заходит из броузера!
Если вы используете url-open-оболочки то обнаружить такую подмену будет очень просто - поскльку не передаются ни все нужные HTTP-заголовки ни cookie ни исполняется JS - поэтому для качественно эмуляции браузера вы можете посмотреть его взаимодействие с сайтом с помощью HTTP-сниффера типа Proxomitron и функциями CURL/fsockopen копировать соответствующие HTTP-запросы


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB