用VB的Winsock来发送http请求头,请指教!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用VB的Winsock来发送http请求头,请指教!相关的知识,希望对你有一定的参考价值。
发送HTTP请求头,接收到的If-Modified-Since字段值据说可以判断一个页面是否更新,是真的吗?我只有思路,用VB怎么构造http请求头都不知道,大虾们指教下!(我的初衷是:设计一个监视网页更新的工具,用来抢沙发的!一路问高手们,终于有了点思路,但是不知道怎么实现?)
参考技术A 你又发了一个帖子问了,真不好意思不给你个例子了,两边都给你回了,就是C++的,你尽量看吧 char* reqPtr=new char[2048];memset(reqPtr,0,2048);
strcpy(reqPtr,"GET ");
//strcat(reqPtr,uri);
strcat(reqPtr,"/index.html");
strcat(reqPtr," HTTP/1.1\r\n");
strcat(reqPtr,"Accept: text/html, text/vnd.wap.wml, image/vnd.wap.wbmp, image/gif, image/jpeg, application/vnd.wap.wmlscriptc, text/vnd.wap.wmlscript, *.*\r\n"); strcat(reqPtr,"If-Modified-Since:2009:11:5\r\n"); // 这句是我临时给你写上的,具体情况你自己在VB中调试
strcat(reqPtr,"Accept-Language: zh-cn\r\n");
strcat(reqPtr,"Accept-Charset: utf-8, *;q=0.1\r\n");
strcat(reqPtr,"Accept-Encoding: identity, *;q=0\r\n");strcat(reqPtr,"User-Agent: Opera/9.62 (Windows NT 5.1; U;zh-cn) Presto/2.1.1\r\n");strcat(reqPtr,"Connection: Keep-Alive\r\n\r\n");iSocket->Send(reqPtr,strlen(reqPtr)); //这是我自己封装的一个类 就这么构造数据,另外你可以使用抓包工具抓取数据包看一下
VB6 中的 Winsock 控件只向数组中的最后一个索引发送文本消息
【中文标题】VB6 中的 Winsock 控件只向数组中的最后一个索引发送文本消息【英文标题】:Winsock Control in VB6 Only send text messages to the last index in an array 【发布时间】:2014-07-06 05:47:53 【问题描述】:这可能是一个多年的话题,但我真的不知道如何解决这个问题。
所以我在 vb6 中开始了一个项目,使用 winsock 控件从连接在 LAN 上的计算机发送和接收消息。
在我的项目中,我包含了两个 Winsock 控件,即 con 和 conn。 con 将监听连接请求并让 conn 接受请求,因此 conn 在一个数组中接受来自客户端的多个请求
Private Sub con_ConnectionRequest(ByVal requestID As Long)
If conn(0).State = sckClosed Then
conn(0).Accept requestID
Else
Load conn(socknum)
conn(socknum).Accept requestID
End If
socknum = socknum + 1
End Sub
现在有多个客户端连接,客户端可以向主机发送消息,但主机只能向 conn 的最后一个索引发送文本消息,或者最后连接的客户端将是唯一可以接收来自的消息的客户端主人。
Private Sub txtSend_KeyPress(KeyAscii As Integer)
Dim n As Integer
If KeyAscii = 13 Then
If ishost = True Then
For n = 0 To conn.UBound
If conn(n).State = sckConnected Then
conn(n).SendData txtSend
End If
Next n
Else
con.SendData txtSend
End If
txtMessages.Text = txtMessages.Text & vbCrLf & txtSend.Text
End If
End Sub
我无法弄清楚我的代码有什么问题,因此非常感谢您提供一些帮助或提示。
【问题讨论】:
【参考方案1】:变量ishost在哪里定义? 能否请您发布该代码?
另外,请发布为 ishost 赋值的代码。
变量socknum在哪里定义? 你能把那个代码贴出来吗? socknum 是否在其他任何地方使用?
调试:在 For n = 0 的行上放置一个断点到 conn.UBound 并使用 F8 逐步执行。 执行是否到达这条线? conn.UBound的值是多少?
【讨论】:
以上是关于用VB的Winsock来发送http请求头,请指教!的主要内容,如果未能解决你的问题,请参考以下文章