Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 14.01.2009, 19:55
shinobi2 shinobi2 вне форума
Прохожий
 
Регистрация: 22.11.2008
Сообщения: 4
Репутация: 10
По умолчанию Использование прокси в WinSock

Код:
{$APPTYPE CONSOLE}

uses
  Windows, SysUtils, WinSock;

var
  WSA: TWSAData;
  Sock: TSocket;
  Server: TSockAddr;

function LookupName(host: string): TInAddr;
var
  HostEnt: PHostEnt;
  InAddr: TInAddr;
begin
  HostEnt := gethostbyname(PChar(host));
  FillChar(InAddr, SizeOf(InAddr), 0);
  if HostEnt <> nil then
    begin
      with InAddr, HostEnt^ do
        begin
          S_un_b.s_b1 := h_addr^[0];
          S_un_b.s_b2 := h_addr^[1];
          S_un_b.s_b3 := h_addr^[2];
          S_un_b.s_b4 := h_addr^[3];
        end;
    end;
  Result := InAddr;
end;

procedure SendString(s: string);
var
  Buffer: array[0..255] of char;
begin
  StrPCopy(Buffer, s);
  Send(Sock, Buffer, length(s), 0);
end;

var
  Buffer: array[0..255] of char;
  Bufflen, Recved: SmallInt;

begin
  WSAStartup(MAKEWORD(1,0), WSA);
  Sock := socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
  ZeroMemory(@Server,SizeOf(Server));
  Server.sin_family:=AF_INET;
  Server.sin_port:=htons(80);
  Server.sin_addr:=LookupName('www.lol.ru');
  if Connect(Sock, Server, SizeOf(Server)) = 0 then
    begin
      SendString('GET / HTTP/1.1'#13#10);
      SendString('Host: www.lol.ru'#13#10);
      SendString('Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5'#13#10);
      SendString('Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3'#13#10);
      SendString('Accept-Encoding: gzip,deflate'#13#10);
      SendString('Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7'#13#10);
      SendString(#13#10);
    end;
  repeat
    Bufflen := SizeOf(Buffer);
    Recved := Recv(Sock, Buffer, Bufflen, 0);
    write(Buffer);
  until Recved = 0;
  CloseSocket(Sock);
  WSACleanup;
  readln;
end.

Вот код GET запроса на сайт через WinSock, объясните пожалуйста как в данном коде сделать поддержку прокси???
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:18.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter