Advertisement
Guest User

Extrai lista de proxys da internet HTTP / HTTPS para uma lis

a guest
Oct 19th, 2018
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 10.49 KB | None | 0 0
  1. //Extrai lista de proxys da internet HTTP / HTTPS para uma lista
  2.  
  3. procedure TForm1.Button1Click(Sender: TObject);
  4. var
  5. s: string;
  6. lHTTP: TIdHTTP;
  7. begin
  8. lHTTP:=TIdHTTP.Create(nil);
  9. try
  10. lHTTP.IOHandler:=TIdSSLIOHandlerSocketOpenSSL.Create(lHTTP);
  11. lHTTP.HandleRedirects:=True;
  12. lHTTP.ProtocolVersion:=pv1_1;
  13. lHTTP.Request.UserAgent:='Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0';
  14. s:=lHTTP.Get(Edit1.Text);
  15. Memo1.Text:=s;
  16. finally
  17. lHTTP.Free;
  18. end;
  19. end;
  20.  
  21. function Parsing(Char, Str: string; Count: Integer): string;
  22. var
  23. i: Integer;
  24. strResult: string;
  25. begin
  26. if Str[Length(Str)] <> Char then
  27. Str:=Str + Char;
  28. for i:=1 to Count do
  29. begin
  30. strResult:=Copy(Str, 0, Pos(Char, Str) - 1);
  31. Str:=Copy(Str, Pos(Char, Str) + 1, Length(Str));
  32. end;
  33. Result:=strResult;
  34. end;
  35.  
  36. procedure TForm1.Button2Click(Sender: TObject);
  37. var
  38. StringToParse: String;
  39. i: integer;
  40. Linha: string;
  41. begin
  42. StringToParse:=Memo1.Text;
  43. Memo2.Lines.Add(Parsing('<td>', StringToParse, 2));
  44. Memo2.Lines.Add(Parsing('<td>', StringToParse, 3));
  45. Memo2.Lines.Add(Parsing('<td>', StringToParse, 6));
  46. Memo2.Lines.Add(Parsing('<td>', StringToParse, 7));
  47. Memo2.Lines.Add(Parsing('<td>', StringToParse, 10));
  48. Memo2.Lines.Add(Parsing('<td>', StringToParse, 11));
  49. Memo2.Lines.Add(Parsing('<td>', StringToParse, 14));
  50. Memo2.Lines.Add(Parsing('<td>', StringToParse, 15));
  51. Memo2.Lines.Add(Parsing('<td>', StringToParse, 18));
  52. Memo2.Lines.Add(Parsing('<td>', StringToParse, 19));
  53. Memo2.Lines.Add(Parsing('<td>', StringToParse, 22));
  54. Memo2.Lines.Add(Parsing('<td>', StringToParse, 23));
  55. Memo2.Lines.Add(Parsing('<td>', StringToParse, 26));
  56. Memo2.Lines.Add(Parsing('<td>', StringToParse, 27));
  57. Memo2.Lines.Add(Parsing('<td>', StringToParse, 30));
  58. Memo2.Lines.Add(Parsing('<td>', StringToParse, 31));
  59. Memo2.Lines.Add(Parsing('<td>', StringToParse, 34));
  60. Memo2.Lines.Add(Parsing('<td>', StringToParse, 35));
  61. Memo2.Lines.Add(Parsing('<td>', StringToParse, 38));
  62. Memo2.Lines.Add(Parsing('<td>', StringToParse, 39));
  63. Memo2.Lines.Add(Parsing('<td>', StringToParse, 42));
  64. Memo2.Lines.Add(Parsing('<td>', StringToParse, 43));
  65. Memo2.Lines.Add(Parsing('<td>', StringToParse, 46));
  66. Memo2.Lines.Add(Parsing('<td>', StringToParse, 47));
  67. Memo2.Lines.Add(Parsing('<td>', StringToParse, 50));
  68. Memo2.Lines.Add(Parsing('<td>', StringToParse, 51));
  69. Memo2.Lines.Add(Parsing('<td>', StringToParse, 54));
  70. Memo2.Lines.Add(Parsing('<td>', StringToParse, 55));
  71. Memo2.Lines.Add(Parsing('<td>', StringToParse, 58));
  72. Memo2.Lines.Add(Parsing('<td>', StringToParse, 59));
  73. Memo2.Lines.Add(Parsing('<td>', StringToParse, 62));
  74. Memo2.Lines.Add(Parsing('<td>', StringToParse, 63));
  75. Memo2.Lines.Add(Parsing('<td>', StringToParse, 66));
  76. Memo2.Lines.Add(Parsing('<td>', StringToParse, 67));
  77. Memo2.Lines.Add(Parsing('<td>', StringToParse, 70));
  78. Memo2.Lines.Add(Parsing('<td>', StringToParse, 71));
  79. Memo2.Lines.Add(Parsing('<td>', StringToParse, 74));
  80. Memo2.Lines.Add(Parsing('<td>', StringToParse, 75));
  81. Memo2.Lines.Add(Parsing('<td>', StringToParse, 78));
  82. Memo2.Lines.Add(Parsing('<td>', StringToParse, 79));
  83. Memo2.Lines.Add(Parsing('<td>', StringToParse, 82));
  84. Memo2.Lines.Add(Parsing('<td>', StringToParse, 83));
  85. Memo2.Lines.Add(Parsing('<td>', StringToParse, 86));
  86. Memo2.Lines.Add(Parsing('<td>', StringToParse, 87));
  87. Memo2.Lines.Add(Parsing('<td>', StringToParse, 90));
  88. Memo2.Lines.Add(Parsing('<td>', StringToParse, 91));
  89. Memo2.Lines.Add(Parsing('<td>', StringToParse, 94));
  90. Memo2.Lines.Add(Parsing('<td>', StringToParse, 95));
  91. Memo2.Lines.Add(Parsing('<td>', StringToParse, 98));
  92. Memo2.Lines.Add(Parsing('<td>', StringToParse, 99));
  93. Memo2.Lines.Add(Parsing('<td>', StringToParse, 102));
  94. Memo2.Lines.Add(Parsing('<td>', StringToParse, 103));
  95. Memo2.Lines.Add(Parsing('<td>', StringToParse, 106));
  96. Memo2.Lines.Add(Parsing('<td>', StringToParse, 107));
  97. Memo2.Lines.Add(Parsing('<td>', StringToParse, 110));
  98. Memo2.Lines.Add(Parsing('<td>', StringToParse, 111));
  99. Memo2.Lines.Add(Parsing('<td>', StringToParse, 114));
  100. Memo2.Lines.Add(Parsing('<td>', StringToParse, 115));
  101. Memo2.Lines.Add(Parsing('<td>', StringToParse, 118));
  102. Memo2.Lines.Add(Parsing('<td>', StringToParse, 119));
  103. Memo2.Lines.Add(Parsing('<td>', StringToParse, 122));
  104. Memo2.Lines.Add(Parsing('<td>', StringToParse, 123));
  105. Memo2.Lines.Add(Parsing('<td>', StringToParse, 126));
  106. Memo2.Lines.Add(Parsing('<td>', StringToParse, 127));
  107. Memo2.Lines.Add(Parsing('<td>', StringToParse, 130));
  108. Memo2.Lines.Add(Parsing('<td>', StringToParse, 131));
  109. Memo2.Lines.Add(Parsing('<td>', StringToParse, 134));
  110. Memo2.Lines.Add(Parsing('<td>', StringToParse, 135));
  111. Memo2.Lines.Add(Parsing('<td>', StringToParse, 138));
  112. Memo2.Lines.Add(Parsing('<td>', StringToParse, 139));
  113. Memo2.Lines.Add(Parsing('<td>', StringToParse, 142));
  114. Memo2.Lines.Add(Parsing('<td>', StringToParse, 143));
  115. Memo2.Lines.Add(Parsing('<td>', StringToParse, 146));
  116. Memo2.Lines.Add(Parsing('<td>', StringToParse, 147));
  117. Memo2.Lines.Add(Parsing('<td>', StringToParse, 150));
  118. Memo2.Lines.Add(Parsing('<td>', StringToParse, 151));
  119. Memo2.Lines.Add(Parsing('<td>', StringToParse, 154));
  120. Memo2.Lines.Add(Parsing('<td>', StringToParse, 155));
  121. Memo2.Lines.Add(Parsing('<td>', StringToParse, 158));
  122. Memo2.Lines.Add(Parsing('<td>', StringToParse, 159));
  123.  
  124. for i:=0 to Memo2.Lines.Count do
  125. begin
  126. Linha:=Memo2.Lines[i];
  127. Delete(Linha, 1, 3);
  128. Delete(Linha, Length(Linha)-4, 5);
  129. Memo2.Lines[i]:=Linha;
  130. end;
  131.  
  132. Memo2.Lines.Add(Memo2.Lines[0]+':'+Memo2.Lines[1]);
  133. Memo2.Lines.Add(Memo2.Lines[2]+':'+Memo2.Lines[3]);
  134. Memo2.Lines.Add(Memo2.Lines[4]+':'+Memo2.Lines[5]);
  135. Memo2.Lines.Add(Memo2.Lines[6]+':'+Memo2.Lines[7]);
  136. Memo2.Lines.Add(Memo2.Lines[8]+':'+Memo2.Lines[9]);
  137. Memo2.Lines.Add(Memo2.Lines[10]+':'+Memo2.Lines[11]);
  138. Memo2.Lines.Add(Memo2.Lines[12]+':'+Memo2.Lines[13]);
  139. Memo2.Lines.Add(Memo2.Lines[14]+':'+Memo2.Lines[15]);
  140. Memo2.Lines.Add(Memo2.Lines[16]+':'+Memo2.Lines[17]);
  141. Memo2.Lines.Add(Memo2.Lines[18]+':'+Memo2.Lines[19]);
  142. Memo2.Lines.Add(Memo2.Lines[20]+':'+Memo2.Lines[21]);
  143. Memo2.Lines.Add(Memo2.Lines[22]+':'+Memo2.Lines[23]);
  144. Memo2.Lines.Add(Memo2.Lines[24]+':'+Memo2.Lines[25]);
  145. Memo2.Lines.Add(Memo2.Lines[26]+':'+Memo2.Lines[27]);
  146. Memo2.Lines.Add(Memo2.Lines[28]+':'+Memo2.Lines[29]);
  147. Memo2.Lines.Add(Memo2.Lines[30]+':'+Memo2.Lines[31]);
  148. Memo2.Lines.Add(Memo2.Lines[32]+':'+Memo2.Lines[33]);
  149. Memo2.Lines.Add(Memo2.Lines[34]+':'+Memo2.Lines[35]);
  150. Memo2.Lines.Add(Memo2.Lines[36]+':'+Memo2.Lines[37]);
  151. Memo2.Lines.Add(Memo2.Lines[38]+':'+Memo2.Lines[39]);
  152. Memo2.Lines.Add(Memo2.Lines[40]+':'+Memo2.Lines[41]);
  153. Memo2.Lines.Add(Memo2.Lines[42]+':'+Memo2.Lines[43]);
  154. Memo2.Lines.Add(Memo2.Lines[44]+':'+Memo2.Lines[45]);
  155. Memo2.Lines.Add(Memo2.Lines[46]+':'+Memo2.Lines[47]);
  156. Memo2.Lines.Add(Memo2.Lines[48]+':'+Memo2.Lines[49]);
  157. Memo2.Lines.Add(Memo2.Lines[50]+':'+Memo2.Lines[51]);
  158. Memo2.Lines.Add(Memo2.Lines[52]+':'+Memo2.Lines[53]);
  159. Memo2.Lines.Add(Memo2.Lines[54]+':'+Memo2.Lines[55]);
  160. Memo2.Lines.Add(Memo2.Lines[56]+':'+Memo2.Lines[57]);
  161. Memo2.Lines.Add(Memo2.Lines[58]+':'+Memo2.Lines[59]);
  162. Memo2.Lines.Add(Memo2.Lines[60]+':'+Memo2.Lines[61]);
  163. Memo2.Lines.Add(Memo2.Lines[62]+':'+Memo2.Lines[63]);
  164. Memo2.Lines.Add(Memo2.Lines[64]+':'+Memo2.Lines[65]);
  165. Memo2.Lines.Add(Memo2.Lines[66]+':'+Memo2.Lines[67]);
  166. Memo2.Lines.Add(Memo2.Lines[68]+':'+Memo2.Lines[69]);
  167. Memo2.Lines.Add(Memo2.Lines[70]+':'+Memo2.Lines[71]);
  168. Memo2.Lines.Add(Memo2.Lines[72]+':'+Memo2.Lines[73]);
  169. Memo2.Lines.Add(Memo2.Lines[74]+':'+Memo2.Lines[75]);
  170. Memo2.Lines.Add(Memo2.Lines[76]+':'+Memo2.Lines[77]);
  171. Memo2.Lines.Add(Memo2.Lines[78]+':'+Memo2.Lines[79]);
  172.  
  173. Memo2.Lines.Delete(0);
  174. Memo2.Lines.Delete(1);
  175. Memo2.Lines.Delete(2);
  176. Memo2.Lines.Delete(3);
  177. Memo2.Lines.Delete(4);
  178. Memo2.Lines.Delete(5);
  179. Memo2.Lines.Delete(6);
  180. Memo2.Lines.Delete(7);
  181. Memo2.Lines.Delete(8);
  182. Memo2.Lines.Delete(9);
  183. Memo2.Lines.Delete(10);
  184. Memo2.Lines.Delete(11);
  185. Memo2.Lines.Delete(12);
  186. Memo2.Lines.Delete(13);
  187. Memo2.Lines.Delete(14);
  188. Memo2.Lines.Delete(15);
  189. Memo2.Lines.Delete(16);
  190. Memo2.Lines.Delete(17);
  191. Memo2.Lines.Delete(18);
  192. Memo2.Lines.Delete(19);
  193. Memo2.Lines.Delete(20);
  194. Memo2.Lines.Delete(21);
  195. Memo2.Lines.Delete(22);
  196. Memo2.Lines.Delete(23);
  197. Memo2.Lines.Delete(24);
  198. Memo2.Lines.Delete(25);
  199. Memo2.Lines.Delete(26);
  200. Memo2.Lines.Delete(27);
  201. Memo2.Lines.Delete(28);
  202. Memo2.Lines.Delete(29);
  203. Memo2.Lines.Delete(30);
  204. Memo2.Lines.Delete(31);
  205. Memo2.Lines.Delete(32);
  206. Memo2.Lines.Delete(33);
  207. Memo2.Lines.Delete(34);
  208. Memo2.Lines.Delete(35);
  209. Memo2.Lines.Delete(36);
  210. Memo2.Lines.Delete(37);
  211. Memo2.Lines.Delete(38);
  212. Memo2.Lines.Delete(39);
  213. Memo2.Lines.Delete(40);
  214. Memo2.Lines.Delete(41);
  215. Memo2.Lines.Delete(42);
  216. Memo2.Lines.Delete(43);
  217. Memo2.Lines.Delete(44);
  218. Memo2.Lines.Delete(45);
  219. Memo2.Lines.Delete(46);
  220. Memo2.Lines.Delete(47);
  221. Memo2.Lines.Delete(48);
  222. Memo2.Lines.Delete(49);
  223. Memo2.Lines.Delete(50);
  224. Memo2.Lines.Delete(51);
  225. Memo2.Lines.Delete(52);
  226. Memo2.Lines.Delete(53);
  227. Memo2.Lines.Delete(54);
  228. Memo2.Lines.Delete(55);
  229. Memo2.Lines.Delete(56);
  230. Memo2.Lines.Delete(57);
  231. Memo2.Lines.Delete(58);
  232. Memo2.Lines.Delete(59);
  233. Memo2.Lines.Delete(60);
  234. Memo2.Lines.Delete(61);
  235. Memo2.Lines.Delete(62);
  236. Memo2.Lines.Delete(63);
  237. Memo2.Lines.Delete(64);
  238. Memo2.Lines.Delete(65);
  239. Memo2.Lines.Delete(66);
  240. Memo2.Lines.Delete(67);
  241. Memo2.Lines.Delete(68);
  242. Memo2.Lines.Delete(69);
  243. Memo2.Lines.Delete(70);
  244. Memo2.Lines.Delete(71);
  245. Memo2.Lines.Delete(72);
  246. Memo2.Lines.Delete(73);
  247. Memo2.Lines.Delete(74);
  248. Memo2.Lines.Delete(75);
  249. Memo2.Lines.Delete(76);
  250. Memo2.Lines.Delete(77);
  251. Memo2.Lines.Delete(78);
  252. Memo2.Lines.Delete(79);
  253.  
  254. Button3.Click;
  255. end;
  256.  
  257. procedure TForm1.FormCreate(Sender: TObject);
  258. begin
  259. Button1.Click;
  260. Label1.Caption:='Após 10 minutos a lista de proxys'+#13+'será atualizada automaticamente.';
  261. end;
  262.  
  263. procedure TForm1.Timer1Timer(Sender: TObject);
  264. begin
  265. Timer1.Enabled:=false;
  266. Memo1.Clear;
  267. Memo2.Clear;
  268. Button1.Click;
  269. Button2.Click;
  270. end;
  271.  
  272. procedure TForm1.Button3Click(Sender: TObject);
  273. var
  274. i: integer;
  275. begin
  276. //Apaga número de linhas memo
  277. if StrToIntDef('40',0)=0 then
  278. Exit;
  279. for i:=0 to 40-1 do
  280. begin
  281. if Memo2.Lines.Count > 0 then
  282. Memo2.Lines.Delete(0);
  283. end;
  284. Memo2.text:=Trim(Memo2.Text); //Apaga linhas vazias/em branco memo
  285. Listbox1.Clear;
  286. ListBox1.Items:=Memo2.Lines;
  287. end;
  288.  
  289. procedure TForm1.TmrReloadTimer(Sender: TObject);
  290. begin
  291. Timer1.Enabled:=true;
  292. end;
  293.  
  294. procedure TForm1.RadioButton1Click(Sender: TObject);
  295. begin
  296. Edit1.Text:='https://free-proxy-list.net/index.html';
  297. Timer1.Enabled:=true;
  298. Button1.Click;
  299. end;
  300.  
  301. procedure TForm1.RadioButton2Click(Sender: TObject);
  302. begin
  303. Edit1.Text:='https://www.sslproxies.org/';
  304. Timer1.Enabled:=true;
  305. Button1.Click;
  306. end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement