使用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是如何通过代理软件(这个软件你最好自己写一个,可以显示请求的内容的.)工作的.然后你再使用你的软件与服务器通信这样你就知道你通常出错在哪里了.

标签:Socket,API,WEB服务器
0
投稿

猜你喜欢

  • IT网站将回到内容为王时代

    2008-08-02 12:05:00
  • 链接单元新功能:图片广告匹配

    2009-02-16 12:51:00
  • 病毒牟私利 利用中毒者为指定网站刷流量

    2008-01-16 12:54:00
  • 我用.htaccess做了些什么

    2010-05-03 14:40:00
  • 浅谈docker-compose网络设置之networks

    2023-05-11 14:17:19
  • Fishman的创业经验分享

    2007-09-08 08:19:00
  • 数据安全谈:看 NFS网络文件系统的安全

    2009-03-09 12:47:00
  • Linux动态库函数的详解

    2023-08-06 17:22:51
  • Mozilla基金会称火狐3.6不会跳票 12月发布

    2009-11-07 07:50:00
  • 7月份IE全球份额继续反弹 火狐Chrome皆下滑

    2010-08-02 12:31:00
  • CentOS 5 上安装yum的方法

    2023-06-21 20:27:03
  • apache虚拟主机中设置泛域名解析的方法

    2023-07-28 23:58:23
  • 如何设置GoDaddy-Linux主机的高级目录权限

    2010-04-26 12:49:00
  • 支付宝体验版体验动画出炉!

    2010-01-12 16:59:00
  • linux vps服务器常用服务iptables策略

    2022-11-12 10:55:13
  • VS2022远程调试工具的使用方法

    2021-05-02 01:05:08
  • GoDaddy:如何编辑新增FTP用户

    2010-04-22 13:06:00
  • Discuz!配置文件中的安全设置

    2010-02-02 19:55:00
  • Exchange 2007 Direct Push Mail功能

    2010-02-25 19:01:00
  • 网站制作如何优化flash

    2007-08-05 18:32:00
  • asp之家 网站运营 m.aspxhome.com