|
发表于 2011-11-24 00:38:37
|
显示全部楼层
- Option Explicit
- Private Const strCmd As String = "GET [THEURL] HTTP/1.1" & vbCrLf & _
- "Connection: close" & vbCrLf & _
- "Host: [THEHOST]" & vbCrLf & _
- "Accept: */*" & vbCrLf & _
- "Pragma: no-cache" & vbCrLf & _
- "Cache-Control: no-cache" & vbCrLf & _
- "Referer: [THEREFURL]" & vbCrLf & _
- "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2)" & vbCrLf & _
- vbCrLf '最后一行没有命令,仅有一个换行符,表明整个命令字符串的结束.
- Dim SendStr As String
- Private Sub Command1_Click()
- Winsock1.Close
- Winsock1.LocalPort = 3000
- Winsock1.Connect "www.baidu.com", 80
- End Sub
- Private Sub Form_Load()
- Timer1.Enabled = False
- Timer1.Interval = 1000
-
- SendStr = strCmd
- SendStr = Replace(SendStr, "[theurl]", "http://www.baidu.com", , , vbTextCompare) '替换URL
- SendStr = Replace(SendStr, "[thehost]", "www.baidu.com", , , vbTextCompare) '替换HOST
- SendStr = Replace(SendStr, "[therefurl]", "www.baidu.com", , , vbTextCompare) '替换RefURL
- End Sub
- Private Sub Winsock1_Connect()
- Winsock1.SendData SendStr
- Debug.Print "SendData"
- End Sub
- Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
- Dim I As String
-
- Call Winsock1.GetData(I)
- Debug.Print I
- End Sub
- Private Sub Winsock1_SendComplete()
- Timer1.Enabled = True '在事件处理过程之外再关闭
- Debug.Print "SendComplete"
- End Sub
- Private Sub Timer1_Timer()
- Timer1.Enabled = False
- Call Command1_Click '由定时器来执行关闭与再执行的任务
- End Sub
复制代码 加个按钮加个定时器.
不能直接在事件处理过程里马上重连.
要退出这个事件过程后,才可以再连,我上面这个代码是使用定时器,经测试可以连续工作三次,然后估计被百度服务器限制了. |
|