使用Socket API如何与WEB服务器通信
来源:asp之家 发布时间:2010-05-04 18:35:00
其实这个问题只要将请求网页HTTP内容明白就好解决.
请求HTTP头内容如下:
GET 你的网址 HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, application/x-shockwave-flash, */* //要求返回的内容,如需要返回图片或Flash等,我通常都是让服务器仅返回text/html,主要是加快速度.
Accept-Language: zh-cn//使用的语言
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; MyIE2) //这里主要是告诉服务器你的IE版号,所使用的系统及使用的浏览器,其实如果你想隐藏这里的内容,可以自行修改.
Host: www.paymesurf.com //服务器地址
Proxy-Connection: Keep-Alive
上面基本上是HTTP的内容,在使用过程中大家需要注意以下几点:
1 发送请求的内容时,一定要再多加一个+#13#10
Httpstr:=GET http://www.paymesurf.com:80/surf3.php?usrid=607 HTTP/1.1+#13#10;
httpstr:=httpstr+Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, application/x-shockwave-flash, */*+#13#10;
httpstr:=httpstr+Accept-Language: zh-cn+#13#10;
httpstr:=httpstr+User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; MyIE2;
.NET CLR 1.1.4322)+#13#10;
httpstr:=httpstr+Host: www.paymesurf.com+#13#10;
httpstr:=httpstr+Proxy-Connection: Keep-Alive+#13#10;
上面是一个网友的请求内容,而这个无法返回网页内容,主要问题就是没有告诉服务器哪里是结束位置.需要在最后面的位置再加入一个+#13#10,这样服务器 就会知道这里是结束了.
2 如何知道网页请求完毕,主要是通过FD_CLOSE来判断,当网页全部返回时,服务器会自动关闭这个请求,所以你只要知道当前请求关闭就说明网页已经下载完毕.
3 下面是我个人的经验了,如果你想写与WEB通信的软件,最好不要直接使用Socket与服务器通信,先将自己的IE设置成代理的模式,先看一看IE是如何通过代理软件(这个软件你最好自己写一个,可以显示请求的内容的.)工作的.然后你再使用你的软件与服务器通信这样你就知道你通常出错在哪里了.
猜你喜欢
- 1、SQL注入漏洞的入侵这种是ASP+ACCESS的网站入侵方式,通过注入点列出数据库里面管理员的帐号和密码信息,然后猜解出网站的后台地址,
- VMware虚拟机系统无法使用桥接联网的解决方法,供大家参考,具体内容如下1、环境VMware 14.1.1虚拟系统:Windows Ser
- 伴随着 UCenter Home 1.5 的发布与普及,国内越来越多垂直细分的专业社交网站采用 UCenter Home 搭建。据康盛创想(
- 盗链是指服务提供商自己不提供服务的内容,通过技术手段绕过其它有利益的最终用户界面(如广告),直接在自己的网站上向最终用户提供其它服务提供商的
- 虚拟机中Ubuntu18.04无法连接网络的解决办法,具体内容如下对VMware虚拟机进行恢复默认网络设置恢复虚拟网络默认设置(在断网状态下
- 在实际应用过程中可能会遇到DNS解析错误的问题,就是说当我们访问一个域名时无法完成将其解析到IP地址的工作,而直接输入网站IP却可以正常访问
- Read access:允许用户从服务器下载文件; Write access,:允许用户上载文件到服务器,但不允许修改、删除和重命
- VMware Workstation 是一个虚拟PC的软件,利用VMware工作站,可以在现有的操作系统上虚拟出一个或多个新的硬件环境,相当
- 邀请好友是现今SNS网站必备的利器之一,其中开心网就是网友导入QQ、MSN、E-mail等的好友名单进行邀请,而在短时期内迅速扩张网站会员人
- sendStaticResource 方法是非常简单的。它首先传递父路径和子路径给File类的构造器,从而对java.io.File类进行了
- (Win7系统)VMware虚拟机安装教程VMware是虚拟机普遍使用的的一款软件,该软件方便实用,但想必有很多新接触的新手还是很陌生的,小
- Linux下/etc/network/interfaces文件用来配置网络接口。初始化网口Ethernet Interface大部分的网络接
- 北京时间11月7日消息,据国外媒体报道,美国互联网流量监测机构comScore周五宣布,已发布今年9月全球10大互联网资产排行榜。以用户停留
- 有很多发布商给我们来信询问当月会不会向他付款。我们知道我们的付款流程比较复杂,很多发布商还不太了解。所以今天我们就对我们的付款流程做一个直观
- 不算前言的前言好像已经很久没有写过安全方面的文章了,所谓安全圈子里面,大家也许认为玄猫消失了,不过,我想,作为骇客的玄猫也许从来没有出现过吧
- 这里有一个数据库文档,和大家分享一下第一个表_admin (管理员)userid
- Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在
- 本文收集总结了几点保护DNS服务器的有效方法。1.使用DNS转发器DNS转发器是为其他DNS服务器完成DNS查询的DNS服务器。使用DNS转
- 引言在本文中将介绍在Docker中通过django + uwsgi + nginx部署方式部署Django项目,由于记录的是学习过程,使用的
- 前几天在点石论坛里有会员问一个问题,我写的子域名与二级目录,和kyw写的田忌赛马相互矛盾,不知道该听哪个。在论坛里简单回复了几句,今天再详细