使用ASP建立Http组件

该博客介绍了一个使用ASP(Active Server Pages)建立Http组件的方法,通过MSWinsockLib.Winsock对象实现HTTP GET请求。首先解析URL以获取服务器地址、端口和请求URI,然后建立连接,发送请求并接收响应,最后关闭连接并提取响应数据。

生成HTTP组件 
自己动手,丰衣足食,下面介绍如何生成自己的AspHttp组件。 
使用Winsock控件,下面将介绍怎么来建立一个简单的HTTP组件。 
记住先选择mswinsck.ocx控件 
下面的代码是在VB6中编译的。 
代码如下: 
Private WithEvents objWinSock As MSWinsockLib.Winsock 
Private strURL As String 
Private strURI As String 
Private strServer As String 
Private nPort As Long 
Private strHead As String 
Private strData As String 
Private bConnected As Boolean


Public Function httpGet(URL As String) As String 
Set objWinSock = New MSWinsockLib.Winsock 
strURL = URL 
ParseURL 
Connect 
SendRequest 
objWinSock.Close 
strHead = Left(strData, InStr(strData, vbCrLf & vbCrLf)) 
strData = Right(strData, Len(strData) - InStr(strData, vbCrLf & vbCrLf)) 
httpGet = strData 
End Function

Private Sub ParseURL() 
If LCase(Left(strURL, 7)) = "http://" Then 
If InStr(8, strURL, "/") = 0 Then 
strServer = Right(strURL, Len(strURL) - 7) 
strURI = "/" 
Else 
strServer = Mid(strURL, 8, InStr(8, strURL, "/") - 8) 
strURI = Right(strURL, Len(strURL) - InStr(8, strURL, "/") + 1) 
End If 
If InStr(strServer, ":") <> 0 Then 
nPort = CLng(Right(strServer, Len(strServer) - InStr(strServer, 
":"))) 
strServer = Left(strServer, InStr(strServer, ":") - 1) 
End If 
If nPort = 0 Then nPort = 80 
Else 
Err.Raise vbObjectError, "Error", "错误的URL" 
End If 
End Sub

Private Sub Connect() 
Dim dtStart As Date 
dtStart = Now() 
objWinSock.RemoteHost = strServer 
objWinSock.RemotePort = nPort 
objWinSock.Connect 
Do Until bConnected 
DoEvents 
If DateDiff("s", dtStart, Now) > 30 Then 
Err.Raise vbObjectError, "Error", "连接超时" 
End If 
Loop 
End Sub

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值