Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.04.2012, 00:17   #1
lama90
Новичок
Джуниор
 
Регистрация: 31.05.2011
Сообщений: 2
По умолчанию winsock

Привет всем,столкнулся с проблемой!
Пишу запрос на сокетах для получения кода страницы сайта,в ответ же получаю вот это :"‹"
Ниже приведен код,буду благодарен за любую помощь
PHP код:
 function HostToIP(hoststring):string;
var
  
IP:string;
  
hostEnt PHostEnt;
  
hostName : array [0..255of char;
  
addr PChar;
begin
  result
:=host;
  try
    
strpcopy(hostnamehost);
    
hostEnt := gethostbyname(hostName);
    if 
Assigned(hostEnt) and Assigned(hostEnt^.h_addr_listthen
      begin
      addr
:=hostEnt^.h_addr_list^;
      
IP:=Format('%d.%d.%d.%d', [byte(addr[0]), byte(addr[1]), byte(addr[2]), byte(addr[3])]);
      
end;
    
result:=ip;
  
except
 end
;
end;
procedure TForm1.Button1Click(SenderTObject);
var
  
I:integer;
  
req:string;
  
_Socket :TSocket;
  
buf: array[0..50000of char;
  
temp:string;
  
host:string;
  
adrsockaddr_in;
  
t:integer;
  
wsdata TWSAData;
begin
 
if WSAStartup(MakeWord(2,0), wsData)<>0 then
  begin

   
Exit;
  
end;
 
_socket := Socket(PF_INETSOCK_STREAMIPPROTO_IP);
 if 
_socket INVALID_SOCKET then
 begin

  
Exit;
 
end;
  
host:= HostToIP('programmersforum.ru');
  
adr.sin_port :=htons(80);
  
adr.sin_addr.s_addr :=inet_addr(pchar(host));
  
adr.sin_family :=AF_INET;
 if 
connect(_Socketadrsizeof(adr))= SOCKET_ERROR then
  begin

  CloseSocket
(_Socket);
  Exit;
 
end;
  
req := 'GET /showthread.php?t=88011 HTTP/1.1'#13#10+
  
'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+
  
'Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3'#13#10+
  
'Accept-Encoding: gzip,deflate'#13#10+
  
'User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; Windows; U; ru; rv:1.8.1.14)'#13#10+
  
'Keep-Alive: 300'#13#10+
  
'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7'#13#10+
  
'Host: programmersforum.ru'#13#10+  // www.yandex.ru
  
'Connection: Keep-Alive'#13#10#13#10;
  
i:= send(_Socketpointer(req)^, length(req), 0);
 if 
i=0 then
  begin

  CloseSocket
(_Socket);
  Exit;
 
end;
  
FillChar(BufSizeOf(Buf), 0);
  
temp:='';
  
:= recv(_Socketbufsizeof(buf), 0);
 if 
t=-1 then
  begin

  CloseSocket
(_Socket);
  Exit;
 
end;
// while ( >0) do temp:=temp + buf;
  
temp:=buf;
  
memo1.Lines.Add(temp);
  
closesocket(_Socket);
  
wsaCleanup;
end
lama90 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
WinSock Slame Работа с сетью в Delphi 5 22.03.2012 10:40
winsock Pein95 Работа с сетью в Delphi 4 04.07.2011 18:33
Winsock n3sh C/C++ Сетевое программирование 2 25.07.2010 17:55
WinSock profi Win Api 8 11.01.2010 21:13
WinSock Killbrum Win Api 1 18.10.2009 15:15