XmlHTTPquery

Модераторы: Duncon, Naeel Maqsudov, Хыиуду, Игорь Акопян

Ответить
hripa
Сообщения: 6
Зарегистрирован: 18 мар 2007, 18:04

19 мар 2007, 04:16

Вопрос возможно ли делать HTTP запрос без использывания TWebBrowser
Как реализовать связку: delphi->php->Delphi
Обработка XML средствами Делфи.
hripa
Сообщения: 6
Зарегистрирован: 18 мар 2007, 18:04

19 мар 2007, 04:17

может возможно через TClientSocket TServerSocket ?
Если да то как ?
Надо пример/Литература
Blood_Magic
Сообщения: 268
Зарегистрирован: 30 июн 2005, 14:53

20 мар 2007, 12:21

Код: Выделить всё

var  hSession: HINTERNET;  hService: HINTERNET;  lpBuffer: array[0..1024] of Char;  dwBytesRead: DWORD;  dwIndex :D WORD;  f:file;begin  NoError:=False;  CurDownload:=0;  TotalDownload:=0;  hSession:=InternetOpen('Microsoft Internet Explorer', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);  try   if Assigned(hSession) then   begin     dwBytesRead:=1024;     hService:=InternetOpenUrl(hSession, PChar(Url), nil, 0, INTERNET_FLAG_RELOAD, 0);     if Assigned(hService) then       try         dwIndex:=0;         dwBytesRead:=1024;         If HttpQueryInfo(hService,HTTP_QUERY_CONTENT_LENGTH,@lpBuffer,dwBytesRead,dwIndex) then TotalDownload:=StrToInt(StrPas(@lpBuffer)) else TotalDownload:=0;         If not flGetSize then           begin             AssignFile(f,FileName);             {$I-}ReWrite(f,1){$I+};             If IOResult=0 then               begin                 While not (Terminated or Application.Terminated) do                   begin                     dwBytesRead:=1024;                     InternetReadFile(hService, @lpBuffer, 1024, dwBytesRead);                     If dwBytesRead = 0 then break;                     BlockWrite(f,lpBuffer,dwBytesRead);                     Inc(CurDownload,dwBytesRead);                   end;                 CloseFile(f);                 If Terminated then DeleteFile(FileName);               end else MessageBox(0,PChar('Не удалось создать файл. Возможно у вас нет прав. Попробуйте перезагрузить компьютер и повторить попытку!'#0),'Ошибка',MB_OK or MB_ICONERROR or MB_APPLMODAL);           end;         NoError:=True;       finally         InternetCloseHandle(hService);       end;   end;  finally   InternetCloseHandle(hSession);  end;
- Чем юзер похож на обезьяну?
- Он жмет на все, что жмется, дергает все, что дергается и крутит все, что крутится.
- Чем юзер отличается от обезьяны?
- У обезьяны хватает ума не воспроизводить ту последовательность, которая приводит к краху системы.
namomelkor
Сообщения: 227
Зарегистрирован: 31 авг 2006, 13:11

21 мар 2007, 12:09

Есть модуль найдешь будет тебе счастье.
CrtSock. Модуль для работы с сокетами.
Совместимость: Delphi 2+

Поддерживает TCP и UDP пакеты.
Не использует winsock.pas, поскольку обращается непосредственно к wsock32.dll.
Набор функций позволяет разрабатывать как клиентские, так и серверные приложения.
Дополнительно в комплект входят модули для работы с FTP, HTTP, SMTP, POP3.

Blood_Magic отредактируй свой пост а то в одну строку оно както не читабельно.
Ответить