[AutoIt]_IsUrlValid Function 10-29-2011, 07:11 AM
#1
Code:
; #FUNCTION# ====================================================================================================================
; Name ..........: _IsUrlValid
; Description ...: Checks with or without the Internet to see that is a Link valid or not.
; Syntax ........: _IsUrlValid($url[, $opt = 1])
; Parameters ....: $url - An unknown value.
; $opt - [optional] Default is 1.
; - $opt = 1 Uses regular expression to validate
; - $opt = 2 Uses ping to validate
; - $opt = 3 Uses ping + regular expression to validate
; @error ........: If $opt = 1 and you get -1 for @error it means your URL's domain extension is incorrect.
; Return values .: True if URL is valid
; False if URL is not valid
; Author ........: 1234hotmaster
Func _IsUrlValid($url,$opt=1)
Switch $opt
Case 1
Local $comeext,$Array = StringRegExp($url, Chr(94)&Chr(40)&Chr(63)&Chr(115)& _
Chr(41)&Chr(40)&Chr(63)&Chr(105)&Chr(41)& _
Chr(40)&Chr(104)&Chr(116)&Chr(116)&Chr(112)& _
Chr(124)&Chr(102)&Chr(116)&Chr(112)&Chr(124)& _
Chr(104)&Chr(116)&Chr(116)&Chr(112)&Chr(115)& _
Chr(124)&Chr(102)&Chr(105)&Chr(108)&Chr(101)& _
Chr(41)&Chr(58)&Chr(47)&Chr(47)&Chr(40)& _
Chr(124)&Chr(119)&Chr(119)&Chr(119)&Chr(41)& _
Chr(40)&Chr(46)&Chr(42)&Chr(63)&Chr(47)& _
Chr(124)&Chr(46)&Chr(42)&Chr(36)&Chr(41)& _
Chr(40)&Chr(46)&Chr(42)&Chr(47)&Chr(41)& _
Chr(123)&Chr(48)&Chr(44)&Chr(125)&Chr(40)& _
Chr(46)&Chr(42)&Chr(41)&Chr(36), 3)
If IsArray($Array) And Not $url = "" Then
If Not $Array[0] = "" And $Array[1] = "" And Not $Array[2] = "" Then $comeext = StringSplit($Array[2],".")
If IsArray($comeext) Then
If UBound($comeext) > 3 Then SetError(-1)
$ext = StringRegExp($comeext[$comeext[0]],Chr(40)&Chr(63)&Chr(45)&Chr(105)& _
Chr(41)&Chr(40)&Chr(99)&Chr(111)&Chr(109)& _
Chr(124)&Chr(98)&Chr(105)&Chr(122)&Chr(124)& _
Chr(103)&Chr(111)&Chr(118)&Chr(124)&Chr(105)& _
Chr(110)&Chr(102)&Chr(111)&Chr(124)&Chr(110)& _
Chr(101)&Chr(116)&Chr(124)&Chr(111)&Chr(114)& _
Chr(103)&Chr(124)&Chr(117)&Chr(115)&Chr(124)& _
Chr(116)&Chr(107)&Chr(124)&Chr(101)&Chr(100)& _
Chr(117)&Chr(41),3)
If IsArray($ext) Then
Return True
Else
Return False
EndIf
Else
Return False
EndIf
Else
Return False
EndIf
Case 2
If Not StringInStr($url,Chr(119)&Chr(119)&Chr(119)&Chr(46),0,1) And Not StringInStr($url,Chr(104)&Chr(116)&Chr(116)&Chr(112)&Chr(58)&Chr(47)&Chr(47),0,1) Then
Return False
Else
If Ping($url) Then
Return True
Else
Return False
EndIf
EndIf
Case 3
Local $Array = StringRegExp($url, Chr(94)&Chr(40)&Chr(63)&Chr(115)& _
Chr(41)&Chr(40)&Chr(63)&Chr(105)&Chr(41)& _
Chr(40)&Chr(104)&Chr(116)&Chr(116)&Chr(112)& _
Chr(124)&Chr(102)&Chr(116)&Chr(112)&Chr(124)& _
Chr(104)&Chr(116)&Chr(116)&Chr(112)&Chr(115)& _
Chr(124)&Chr(102)&Chr(105)&Chr(108)&Chr(101)& _
Chr(41)&Chr(58)&Chr(47)&Chr(47)&Chr(40)& _
Chr(124)&Chr(119)&Chr(119)&Chr(119)&Chr(41)& _
Chr(40)&Chr(46)&Chr(42)&Chr(63)&Chr(47)& _
Chr(124)&Chr(46)&Chr(42)&Chr(36)&Chr(41)& _
Chr(40)&Chr(46)&Chr(42)&Chr(47)&Chr(41)& _
Chr(123)&Chr(48)&Chr(44)&Chr(125)&Chr(40)& _
Chr(46)&Chr(42)&Chr(41)&Chr(36) , 3)
If IsArray($Array) And Not $url = "" Then
If Ping($url) Then
Return True
Else
Return False
EndIf
Else
Return False
EndIf
EndSwitch
EndFunc
; ===============================================================================================================================pffffff I'm done with it after 1 hour of research. RegExp credits to SmOke_N
(This post was last modified: 10-29-2011, 07:15 AM by Skullmeat.)
Pierce the life fibers with your drill.




![[+]](https://sinister.li/images/modern/collapse_collapsed.png)