如何注册MSwinsck.ocx
下面的代码是在VB6中编译的。代码如下:PrivateWithEventsobjWinSockAsMSWinsockLib。WinsockPrivatestrURLAsStringPrivatestrURIAsStringPrivatestrServerAsStringPrivatenPortAsLongPrivatestrHeadAsStringPrivatestrDataAsStringPrivatebConnectedAsBooleanPublicFunctionhttpGet(URLAsString)AsStringSetobjWinSock=NewMSWinsockLib。 W...全部
下面的代码是在VB6中编译的。代码如下:PrivateWithEventsobjWinSockAsMSWinsockLib。WinsockPrivatestrURLAsStringPrivatestrURIAsStringPrivatestrServerAsStringPrivatenPortAsLongPrivatestrHeadAsStringPrivatestrDataAsStringPrivatebConnectedAsBooleanPublicFunctionhttpGet(URLAsString)AsStringSetobjWinSock=NewMSWinsockLib。
WinsockstrURL=URLParseURLConnectSendRequestobjWinSock。ClosestrHead=Left(strData,InStr(strData,vbCrLf&vbCrLf))strData=Right(strData,Len(strData)-InStr(strData,vbCrLf&vbCrLf))httpGet=strDataEndFunctionPrivateSubParseURL()IfLCase(Left(strURL,7))="http://"ThenIfInStr(8,strURL,"/")=0ThenstrServer=Right(strURL,Len(strURL)-7)strURI="/"ElsestrServer=Mid(strURL,8,InStr(8,strURL,"/")-8)strURI=Right(strURL,Len(strURL)-InStr(8,strURL,"/")+1)EndIfIfInStr(strServer,":")<>0ThennPort=CLng(Right(strServer,Len(strServer)-InStr(strServer,":")))strServer=Left(strServer,InStr(strServer,":")-1)EndIfIfnPort=0ThennPort=80ElseErr。
RaisevbObjectError,"Error","错误的URL"EndIfEndSubPrivateSubConnect()DimdtStartAsDatedtStart=Now()objWinSock。
RemoteHost=strServerobjWinSock。RemotePort=nPortobjWinSock。ConnectDoUntilbConnectedDoEventsIfDateDiff("s",dtStart,Now)>30ThenErr。
RaisevbObjectError,"Error","连接超时"EndIfLoopEndSubPrivateSubSendRequest()DimstrCmdDimdtStartAsDatedtStart=Now()strCmd="GET"&strURI&"HTTP/1。
0"&vbCrLfstrCmd=strCmd&"User- "&vbCrLfstrCmd=strCmd&"Accept:*/*"&vbCrLfstrCmd=strCmd&vbCrLfobjWinSock。
SendDatastrCmdDoUntilobjWinSock。State=sckClosingDoEventsIfDateDiff("s",dtStart,Now)>60ThenErr。RaisevbObjectError,"Error","请求超时"EndIfLoopEndSubPublicPropertyGetHead()AsVariantHead=strHeadEndPropertyPublicPropertyGetBody()AsVariantBody=strDataEndPropertyPrivateSubobjWinSock_DataArrival(ByValbytesTotalAsLong)DimstrTempobjWinSock。
GetDatastrTemp,vbStringstrData=strData&strTempEndSubPrivateSubobjWinSock_Connect()bConnected=TrueEndSubPrivateSubobjWinSock_Error(ByValNumberAsInteger,DescriptionAsString,_ByValScodeAsLong,ByValSourceAsString,ByValHelpFileAsString,_ByValHelpContextAsLong,CancelDisplayAsBoolean)Err。
RaisevbObjectError,"Error","WinsockError:"&Number&vbCrLf&DescriptionCancelDisplay=TrueEndSub编译该组件,然后按照下面的步骤注册该组件C:\netstopiisadmin/yC:\mtxstop编译成ActiveDllC:\netstartw3svc在ASP中调用这个组件。
收起