Network заметки (perl,php,http)

Jul 31, 2020 14:08


Тут разные заметки по сетям, опять же, чисто для себя.

1. Добавление своих заголовков для http:

use HTTP::Request::Common;
use LWP::UserAgent;

$url="http://google.com";
$a = HTTP::Request->new(
GET => $url,
HTTP::Headers->new(HTTP_X_FORWARDED_FOR => '127.0.0.2'),
);

$ua = LWP::UserAgent->new;
print $ua->request($a)->as_string;

2. Keep-alive соединение

use LWP::ConnCache;
use LWP::UserAgent;

$ua = LWP::UserAgent->new(conn_cache => new LWP::ConnCache);
$ua->get('http://google.com/');

3. Опции потока (хидеры, юзерагенты)

?php
$ct = stream_context_create
(
 array
 (
    'http' => array
     (
     'method' => "GET",
     'header' => "User-Agent: Mozilla\r\n"
     )
 )
);

$a = file_get_contents('http://google.com/', false, $ct);

4. В Windows 10 программа Curl доступна из коробки, на старые версии ес-но его можно поставить. Начиная с Win7, в винде есть поддержка служб TCP/IP, таких как: Character Generator, Daytime, Discard, Echo и Quote of the Day. Панель управление- программы - включить/отключить компоненты винды, выбираем "простые службы tcp ip" или как то так. Ребут. Потом управление службами ( services.msc) , там все это надо запустить (вручную или автоматом). Все, по определенным портам доступны службы для разных тестов сокетов. Также там можно взять telnet клиент (включить в программах и компонентах). Важно: если вы юзаете командную строку, на 64 битных ОС, 32 битная цмд "не видит" телнет. Т.е. нужно использовать нативную 64 битную
5. Хотя фтп сейчас мало кому нужен, но все же, его можно юзать с винапи и даже средствами самой винды (на последних не проверял).
.data
file db 'C:\tes.txt',0 ; файл для залива
ftpfn db 'tes.txt',0 ; залитый файл

host db 'yoursite.com',0 ; адрес фтп
login db 'login',0
password db 'password',0
agent db 'iexplore',0
hinet dd 0
hc dd 0
.code
start:
invoke InternetOpen,addr agent,INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,0
mov hinet,eax
invoke InternetConnect,hinet,addr host,INTERNET_DEFAULT_FTP_PORT,addr login,addr password,INTERNET_SERVICE_FTP,INTERNET_FLAG_PASSIVE,0
mov hc,eax
invoke FtpPutFile,hc,addr file,addr ftpfn,FTP_TRANSFER_TYPE_BINARY,0
invoke InternetCloseHandle,hc
invoke InternetCloseHandle,hinet
invoke ExitProcess,0
end start

php, noob, службы, perl, заметки, network

Previous post Next post
Up