我使用下面的函数来确定URL是否存在:
Public Function URLExists(ByVal url As String) As Boolean
Dim webRequest As System.Net.WebRequest = System.Net.WebRequest.Create(url)
webRequest.Method = "HEAD"
Try
Dim response As System.Net.HttpWebResponse = CType(webRequest.GetResponse, System.Net.HttpWebResponse)
If (response.StatusCode.ToString = "OK") Then
Return True
End If
Return False
Catch
Return False
End Try
End Function
在大多数情况下,这是正常的,但是当一个网站通过cloudflare托管时,它不会返回页面标题,这意味着即使目标URL确实存在,该函数也会返回false。
例如,您可以使用https://ezclix.club/m/1125,它将重定向到warriorplus.com网站(其中有cloudflare),然后最终重定向到https://ezclix.club/index.asp作为最终目标(确实存在),但一旦遇到启用了cloudflare的warriorplus,该函数将返回false。
1条答案
按热度按时间zzlelutf1#
您可以选择检查请求URI是否与响应URI不同。如果不同,则递归检查响应URI。
例如: