永发信息网

用VB的Winsock来发送http请求头,请指教!

答案:2  悬赏:60  手机版
解决时间 2021-06-02 21:21
  • 提问者网友:人傍凄凉立暮秋
  • 2021-06-02 18:06

发送HTTP请求头,接收到的If-Modified-Since字段值据说可以判断一个页面是否更新,是真的吗?我只有思路,用VB怎么构造http请求头都不知道,大虾们指教下!

(我的初衷是:设计一个监视网页更新的工具,用来抢沙发的!一路问高手们,终于有了点思路,但是不知道怎么实现?)

最佳答案
  • 五星知识达人网友:刀戟声无边
  • 2021-06-02 18:33

你又发了一个帖子问了,真不好意思不给你个例子了,两边都给你回了,就是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)); //这是我自己封装的一个类



就这么构造数据,另外你可以使用抓包工具抓取数据包看一下

全部回答
  • 1楼网友:平生事
  • 2021-06-02 18:42

我给你一个吧!

'------------------------

Winsock.SendData "GET " & Path & " HTTP/1.1" & vbNewLine & "Host: 127.0.0.1" & vbNewLine & "Connection: Close" & vbNewLine & "Accept: */*" & vbNewLine & "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)" & vbNewLine & vbNewLine

'------------------------

'Path 是请求路径(如:/index.asp)

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯