Forum Webscript.Ru

Программирование => Perl => Тема начата: от 26 Ноября 2001, 09:39:43

Название: LWP???
Отправлено: от 26 Ноября 2001, 09:39:43
У меня такой вопрос:
Я хочу подменить http заголовок с помощью этого модуля.
Моя конструкция выглядит соедующим образом:

use LWP::UserAgent;
require HTTP::Headers;
$h = new HTTP::Headers
print "Content-type: text/html\\n\\n";

$ua = LWP::UserAgent->new;
$ua->agent("$0/0. " . $ua->agent);
$ua->agent("Mozilla/3.0") # Притворимся совместимым браузером !



###Подменяем HTTP заголовок
#Удаляем заголовок
$h->remove_header(HTTP_REFERER);
#Пишем заголовок
$h->push_header(HTTP_REFERER,\'http://i.ru\');
#Пробовал также так:
$h->referer(\'http://i.ru\');

$req = HTTP::Request->new(GET => \'http://teleport.volsu.ru/cgi-bin/hit.cgi\');
$req->header(\'Accept\' => \'text/html\');
# send request
$res = $ua->request($req);
if ($res->is_success) {
$body=$res->content;
print $body;
} else {
print "Error: " . $res->status_line . "\\n";
}

Оговрюсь сразу, данный скрипт нужен не для хакерских целей (хотя его обычно для этого и используют) ,а для конкретной задачи.
Заранее спасибо за помощь.
С уважением, Сергей.
Название: LWP???
Отправлено: VaV от 26 Ноября 2001, 09:54:48
Цитировать
хакерских целей

охотно верю, но накрутка статистики вещь немного опасная...
Название: LWP???
Отправлено: от 26 Ноября 2001, 12:04:15
Да, ладно, если бы я накручивал статистику, я бы и куки прописал (кстати тогда никакие клик клубы не нужны).
Я не дурак и понимаю к чему приведут данные действия, а если учесть, что все будет происходить с официального сайта нашей области, то можно придти к выводу, что я и не думал об этом.
Мне нужно срочно (скрипт сдавать в среду), а это все тармозит меня.
А скрип сам-это отправка пейджинговых сообщений с нашего сайта используя скрипт на другом сайте.С фирмой мы договорились, но скрипт отправки они купили и лезть переделывать его не хотят.Так что разрешили его официально ломать.
Надеюсь на понимание.
Сергей.
Название: LWP???
Отправлено: от 27 Ноября 2001, 19:03:20
Казахский вариант :D

Нелюбля я эти модули блин ну нечё в них непонятно
Предлогоаю несколько другой более визуальный вариант
поэтому будем use Socket;

#!/usr/bin/perl
use Socket;
$AF_INET=2;
$SOCK_STREAM=1;
$protocol=(getprotobyname(\'tcp\'))[2];
$end="\\015\\012";
$site="localhost";# Адрес хоста без http://
$port=80;
$addr=(gethostbyname($site))[4];
$addrs=pack (\'S n a4 x8\', $AF_INET, $port, $addr);
$cur=\'/u.jpg\';#имя файла на хосте Например /cgi-bin/cookie.cgi


{print "Content-Type: text/html\\n\\n";

if (!(socket(LOAD,$AF_INET,SOCK_STREAM,$protocol))){

print "Невозможно создать сокет!"; exit;}

if (!(connect(LOAD, $addrs))){print "Невозможно соединиться!"; exit;}

select(LOAD);
$|=1;
select(STDOUT);

print LOAD "GET $cur HTTP/1.0$end";
print LOAD "Content-Type: application/x-www-form-urlencoded$end";
print LOAD "Accept: text/html$end";
print LOAD "Accept: image/jpeg$end";
print LOAD "User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)$end";
print LOAD "Accept: image/gif$end";
print LOAD "Accept: image/x-xbitmap$end";
print LOAD "Referer: http://www.hvost.kz/$end";
print LOAD "Accept: image/pjpeg$end";
print LOAD "Cookie: nik=uuu; passwd=e789201b865999990c17bf5bc9c15$end";
print LOAD "Host: $site$end";
print LOAD "Authorization: Basic $encoded$end";
print LOAD "$end$end";
@str=;


print @str;


close (LOAD);
}

Вот эсли ты найдёш куда здесь dinmode ткнуть чтобы этот скрипт графику не уродывал я тебя кумысом всю жизнь поить буду извёлся я ночей несплю

А для хака или для более благих целей ты это будеш использовать мне без разници (тока я тебе как человек человеку советую НЕНАДО да и нечего с его помощю зделать толком нельзя)

Есло что непонятно пиши perl@host.kz

И если ну очень тебе захочится зделать это через LWP скажи ПОПРОБУЕМ вместе разобратся

Скрипт в текстовом файле здесь

http://web.host.kz/perl/head.txt
Название: LWP???
Отправлено: от 28 Ноября 2001, 08:34:57
Огромное спасибо.
А на счет модуля LWP ты зря.И хака тоже.
Я, например, теперь могу отправлять sms со своего сайта,
а после некоторой дороботки, которую я планирую сделать-можно будет дублировать все входящие сообщения(E-mail) на трубку.
Название: LWP???
Отправлено: от 28 Ноября 2001, 08:36:08
Да, а что там с графикой происходит?
Название: LWP???
Отправлено: от 28 Ноября 2001, 11:01:11
И еще такой маленький, каверзный вопрос. Тут я просто передаю информацию методом GET.А мне нужно сконектиться, получить страничку (вместе с кукями), записать ее в массив, соответствуюшим образом обработать его (вызепить динамически изменяемую ссылку, добавить куки в заголовок и произвести там некоторые изменения, а потом уж посылать запрос.
Все это кроме замены HTTP заголовка я сделал, даже считал и добавал куки в заголовок.
Вот такая беда.
Т.е. как этим способом передать запрос (GET), а в ответ получить страничку.
С уважением...