![]() |
|
![]() |
||||||
![]() |
Одно из частых применений Mechanize - работа с формами. В этом примере мы найдем на странице форму авторизации, заполним ее данными и отправим на сервер. При этом не забудем сохранить кукисы и воспользоваться сохраненными кукисами при следующем запуске скрипта. Читать дальше... ![]() В примере показан способ получения и сохранения кукисов в файл с использование библиотеки cookielib Читать дальше... Опеределять будем с помощью сервиса http://2ip.ru/, хотя можно и с помощью любого другого. Читать дальше... Простой скрипт на питоне демонстрирует как можно загрузить файл из интернета, с отображением прогресса. Читать дальше... Эта небольшая функция позволит проверить наличие в индексе Яндекса определенной страницы. Читать дальше... Функция long2ip() генерирует Internet-адрес в формате с точкой (т.е.: aaa.bbb.ccc.ddd) из соответствующего представления адреса. Читать дальше... convert, equivalent, function, ip, javascript, phpЗадача сводилась к тому, чтобы по мере обработки читать с файла новые url, асинхронно запрашивать страницы и записывать HTTP ответы в файлы. Конечно можно было все сделать последовательно, но уж больно много времени потребовалось бы на это.
Как оказалось, для организации такого конвейера более подходит модуль HTTP::Async, а не LWP::Parallel::UserAgent. Вот примерный код, который использовался для этого (работа с файлами опущена): Читать дальше... Один из подходов, если в системе установлен консольный браузер lynx:
$html_code = `lynx -source $url`;
$text_data = `lynx -dump $url`;
Модули CPAN libwww-perl (LWP) дают более мощное решение. Они не требуют lynx, но тоже могут работать через прокси: Читать дальше... Создайте сообщение типа «multipart» (то есть, с вложениями). MIME::Lite также включает метод для отправки
$msg->send;
По умолчанию используется sendmail, но можно настроить использование SMTP через Net::SMTP. Читать дальше... Хотя можно использовать модуль Mail::Folder из CPAN (часть пакета MailFolder) или Mail::Internet (часть пакета MailTools), часто это перебор. Вот программа для сортировки почты. Читать дальше... ![]() Интернет → CURL и SSL → PHPФункция на PHP с применением CURL для получения ответа сервера, функция возвращает массив. В массиве - версия протокола, код ответа сервера, ответ сервера.
Пример:
print_r(check_link('http://google.ru'));
Array ( [0] => HTTP/1.1 [1] => 301 [2] => Moved Permanently )
Это значит что google.ru использует 301-ый редирект. Данная функция будет очень полезна для проверки списка ссылок на битые ссылки - с ответом 404. Читать дальше... Стала передо мною такая задача, пускать на сайт только юзеров из сети, в сети есть такие диапазоны:
10.0.0.0/8
91.195.184.0/23
172.16.0.0/12
192.168.0.0/16
Нужно проверять $_SERVER['REMOTE_ADDR'] на вхождение в один из этих диапазонов, то есть эта функция служет для проверки вхождения IP адресса в диапазон IP адресов Читать дальше... Функция ip2long() генерирует IPv4 Internet сетевой адрес из стандартного представления в Internet-формате (строки с точками). Читать дальше... convert, equivalent, function, ip, ipv4, javascript, phpИногда необходимо убедиться в том, что на конкретной странице действительно есть конкретная ссылка. Читать дальше... Строка запросы выглядит, например, так: http://snippy.ru/?var=res. Разумеется, JavaScript не является самым оптимальным языком программирования для обработки подобных запросов, но иногда его применение оправдано. Прежде всего тогда, когда у вас нет возможности использовать серверные языки типа Perl, PHP. Задача сводится к вычленению переменных и их значений из запроса (?var=res), которому в JavaScript соответствует свойство window.location.search или просто location.search. Для этого можно использовать следующую функцию. Читать дальше... Это небольшой проверочный скрипт, выясняющий,
включены ли cookies у пользователя.
Директива register_globals должна быть включена. Читать дальше... ![]() Интернет → Авторизация → PHPБывают ситуации когда нужно защитить, например, гостевую книгу от неадекватных посетителей. Вставьте данный код в скрипт добавления сообщения. Не забудьте: код бана - в самый верх, а снятия логов - после кода добавляющего сообщение. Читать дальше... ![]() Определять тип браузера нужно не так уж и часто, но все же приходится. И в первую очередь из-за глюков и несовместимостей некоторых из них, когда для какого-либо браузера что-то нужно сделать по-особенному. И поскольку вчера в полку браузеров прибавление - вышел Google Chrome, то теоретически возможна и новая головная боль, в том случае, если если он будет несколько 201Cглюкавым201D. Итак, тип браузера можно посмотреть в строке User Agent. Читать дальше... |
Меню
Подписка на RSS:
Поиск
Облако тегов
.net
array
asp
bash
browser
charset
check
class
clean
convert
count
create
css
curl
database
date
delete
directory
download
element
email
equivalent
extension
file
find
form
format
function
get
height
html
http
ie
image
javascript
jquery
load
mysql
number
page
perl
php
random
scriplet
send
shell
size
sql
string
text
time
url
utf8
variable
vb
visual basic
width
window
xml
xslt
|
![]() |
![]() |
![]() |
||
![]() |
![]() |