Du behøver jo ikke at få en server til at tjække din url prøv:
'-------------------------- Form1 --------------------------
Option Explicit
Private Declare Function InternetOpen Lib "wininet" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
Private Declare Function InternetCloseHandle Lib "wininet" (ByVal hInet As Long) As Integer
Private Declare Function InternetConnect Lib "wininet.dll" Alias "InternetConnectA" (ByVal hInternetSession As Long, ByVal lpszServerName As String, ByVal nProxyPort As Integer, ByVal lpszUserName As String, ByVal lpszPassword As String, ByVal dwService As Long, ByVal dwFlags As Long, ByVal dwContext As Long) As Long
Private Declare Function HttpOpenRequest Lib "wininet.dll" Alias "HttpOpenRequestA" (ByVal hHttpSession As Long, ByVal sVerb As String, ByVal sObjectName As String, ByVal sVersion As String, ByVal sReferer As String, ByVal something As Long, ByVal lFlags As Long, ByVal lContext As Long) As Long
Private Declare Function HttpSendRequest Lib "wininet.dll" Alias "HttpSendRequestA" (ByVal hHttpRequest As Long, ByVal sHeaders As String, ByVal lHeadersLength As Long, sOptional As Any, ByVal lOptionalLength As Long) As Long
Private Declare Function HttpQueryInfo Lib "wininet.dll" Alias "HttpQueryInfoA" (ByVal hHttpRequest As Long, ByVal lInfoLevel As Long, ByRef sBuffer As Any, ByRef lBufferLength As Long, ByRef lIndex As Long) As Long
Private Const HTTP_QUERY_STATUS_CODE = 19
Private Const HTTP_QUERY_STATUS_TEXT = 20
Private Const INTERNET_OPEN_TYPE_PRECONFIG = 0
Private Const INTERNET_DEFAULT_HTTP_PORT = 80
Private Const INTERNET_FLAG_RELOAD = &H80000000
Private Const INTERNET_SERVICE_HTTP = 3
Private Function GetQueryInfo(ByVal lRequest As Long, TYPE_HTTP As Long) As String
Dim sBuffer As String * 1024
Dim lBufferLength As Long
lBufferLength = Len(sBuffer)
HttpQueryInfo lRequest, TYPE_HTTP, ByVal sBuffer, lBufferLength, 0
GetQueryInfo = sBuffer
End Function
Public Function CheckURL(ByVal strUrl As String) As Variant
Dim lPos As Long
Dim lRequest As Long
Dim sServerName As String
Dim sServerPath As String
Dim lInternetSession As Long
Dim lInternetConnect As Long
sServerName = strUrl
If Left$(LCase(sServerName), 7) = "
http://" Then
sServerName = Right$(sServerName, Len(sServerName) - 7)
End If
lPos = InStr(1, sServerName, "/")
If lPos > 0 Then
sServerPath = Right$(sServerName, Len(sServerName) - lPos + 1)
sServerName = Left$(sServerName, lPos - 1)
End If
lInternetSession = InternetOpen("HeaderInfo", INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0)
lInternetConnect = InternetConnect(lInternetSession, sServerName, INTERNET_DEFAULT_HTTP_PORT, vbNullString, vbNullString, INTERNET_SERVICE_HTTP, 0, 0)
lRequest = HttpOpenRequest(lInternetConnect, "GET", sServerPath, "HTTP/1.0", vbNullString, 0, INTERNET_FLAG_RELOAD, 0)
If CBool(lRequest) Then
HttpSendRequest lRequest, vbNullString, 0, 0, 0
'function GetQueryInfo
'CheckURL = GetQueryInfo(lRequest, HTTP_QUERY_STATUS_CODE) '200, 403, 404....
CheckURL = GetQueryInfo(lRequest, HTTP_QUERY_STATUS_TEXT) 'Not Found eller OK
End If
InternetCloseHandle lRequest
InternetCloseHandle lInternetConnect
InternetCloseHandle lInternetSession
End Function
Private Sub Command1_Click()
Me.Caption = CheckURL("
http://www.eksperten.dk/spm/256682")
End Sub
'-------------------------- Form1 --------------------------