как проверить базу сайтов на доступность? Имеется база: 50к+ сайтов нужно проверить их доступность, доступны сайты ли по сей день. p.s не знал где создать, создал тут, если что перенесите
PureBasic Code: Procedure.s do_request(host.s, page.s="", post_data.s="", cookie.s="", is_secure.b=#False, user_agent.s="", referer.s="", proxy.s="", timeout.l=1000, redirect.b=#True) result.s="" ;proxy.s="localhost:8888" If Not proxy="" : access_type.i=3 : Else : access_type.i=1 : EndIf open_handle = InternetOpen_(user_agent,access_type,proxy,"",0) InternetSetOption_(open_handle, 2,timeout,4) If is_secure port.i=443 flag.l=$00800000|$00001000|$00002000|$00080000|$00000100|$04000000 Else port.i=80 flag.l=$00080000|$00000100|$04000000 EndIf If Not redirect : flag|$00200000 : EndIf If Not post_data="" : verb.s="POST" : Else : verb.s="GET" : EndIf If page="" : page="/" : EndIf If user_agent="" : user_agent="Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)" : EndIf connect_handle = InternetConnect_(open_handle,host,port,"","",3,0,0) request_handle = HttpOpenRequest_(connect_handle,verb,page,"",referer,0,flag,0) If verb="POST" headers.s = "Content-Type: application/x-www-form-urlencoded" +Chr(13)+Chr(10) HttpAddRequestHeaders_(request_handle,headers,Len(headers), $80000000|$20000000) EndIf If Not cookie="" headers.s = "Cookie: "+cookie+Chr(13)+Chr(10) HttpAddRequestHeaders_(request_handle,headers,Len(headers), $80000000|$20000000) EndIf InternetCloseHandle_(HttpSendRequest_(request_handle,"",0,post_data,Len(post_data))) buffer.s = Space(1024) Repeat InternetReadFile_(request_handle,@buffer,1024,@bytes_read.l) If bytes_read.l>0 result.s + Left(buffer,bytes_read) buffer = Space(1024) EndIf Until bytes_read=0 InternetCloseHandle_(open_handle) InternetCloseHandle_(connect_handle) InternetCloseHandle_(request_handle) ProcedureReturn result EndProcedure Procedure.b regexp(patern.s, match.s) rx.l=CreateRegularExpression(#PB_Any, patern.s) If rx If MatchRegularExpression(rx, match.s) FreeRegularExpression(rx) ProcedureReturn #True Else FreeRegularExpression(rx) ProcedureReturn #False EndIf Else ProcedureReturn #False EndIf EndProcedure OpenConsole() OpenFile(0,"hosts.txt") Repeat str.s=ReadString(0) If regexp("[Hh][Tt][Mm][Ll]",do_request(str)) PrintN(str+" valid.") OpenFile(1,"valid_hosts.txt") FileSeek(Lof(1)) WriteStringN(1,str) CloseFile(1) EndIf Until Eof(0) CloseConsole()
Можно ArxScanSite настроить правильно, и будут ответы которые ты захочешь Например в base.txt указать только index.php и index.html (ArxScanSite 3 версия, там можно грузить список сайтов)
Покажи что выводит, логи скрины! Попробуй для теста одновременно не 50К а 500. И в base.txt укажи только "/"