Guest User

Untitled

a guest
Dec 18th, 2017
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.17 KB | None | 0 0
  1. procedure Tmain.Send;
  2. var Update:TUpdate;
  3. begin
  4. Update:=TUpdate.Create('domain.ru', '/index.php', 13000);
  5. update.worked:=true;
  6. //и все переменные объявлены
  7. end;
  8.  
  9. type TUpdate = class(TThread)
  10. private
  11. public
  12. worked:boolean;url,php:string;time:integer;
  13. function GetIPAddress(name: string):string;
  14. constructor Create(domain,data:string;timeout:integer);
  15. protected
  16. procedure HttpGet(url,php:String);
  17. procedure execute;override;
  18. end;
  19.  
  20.  
  21. constructor TUpdate.Create(domain,data:string;timeout:integer);
  22. begin
  23. inherited Create(False);
  24. end;
  25.  
  26. procedure TUpdate.execute;
  27. var i:integer;
  28. begin
  29. while worked do
  30. begin
  31. HttpGet(url, php);
  32. if (time > 2000) then
  33. Sleep(time) else Sleep(500);
  34. end;
  35. end;
  36.  
  37.  
  38. function TUpdate.GetIPAddress(name: string):string;
  39. var
  40. p: PHostEnt;
  41. begin
  42. try
  43. p:=gethostbyname(pchar(name));
  44. if p=nil then result:=''
  45. else result:=inet_ntoa(PInAddr(p.h_addr_list^)^);
  46. except end;
  47. end;
  48.  
  49. procedure TUpdate.HttpGet(url,php:String);
  50. var
  51. ws: TWSAData;
  52. TCP_sock:TSocket;
  53. SockAddr1:TSockAddr;
  54. packet:string;
  55. g,i:Integer;
  56. s:AnsiString;
  57. read:array[1..1024] of ansichar;
  58. begin
  59. WSAStartup($202,ws);
  60. TCP_sock:=socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
  61. SockAddr1.sin_family:=AF_INET;
  62. SockAddr1.sin_port:=htons(80);
  63. SockAddr1.sin_addr.S_addr:=inet_addr(PChar(GetIPAddress(url)));
  64. connect(TCP_sock, SockAddr1, SizeOf(SockAddr1));
  65. packet:='GET '+php+' HTTP/1.1'+#13#10+
  66. 'User-Agent: Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.7.62Version/11.00'+#13#10+
  67. 'Host: '+url+#13#10+
  68. 'Accept: text/html, application/xml;q=0.9, application/xhtml+xml,image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1'+#13#10+
  69. 'Accept-Language: ru-RU,ru;q=0.9,en;q=0.8'+#13#10+
  70. 'Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1'+#13#10+
  71. 'Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0'+#13#10+
  72. 'Connection: close, TE'+#13#10+
  73. 'TE: deflate, gzip, chunked, identity, trailers'+#13#10+#13#10;
  74. send(TCP_sock,packet[1],Length(Packet),0);
  75. s:='';
  76. repeat
  77. g:=recv(TCP_sock,read,SizeOf(read),0);
  78. for i:=1 to g do s:=s+(read[i]);
  79. until g<=0;
  80. CloseSocket(TCP_sock);
  81. WSACleanup;
  82. end;
Add Comment
Please, Sign In to add comment