当前位置:  技术问答>linux和unix

关于用socket发送http请求的问题

    来源: 互联网  发布时间:2016-12-10

    本文导语:  我们老师: 叫我实现一个功能。http://192.168.0.133:8080/test.html这个网页打开以后显示ok 做一个程序,让程序去打开并判断一下打开是否成功,打开的内容是不是ok,如果不成功或不是ok,就重新启动tomcat 我现在在这里不...

我们老师:
叫我实现一个功能。http://192.168.0.133:8080/test.html这个网页打开以后显示ok
做一个程序,让程序去打开并判断一下打开是否成功,打开的内容是不是ok,如果不成功或不是ok,就重新启动tomcat

我现在在这里不会。

static const char* protocolHead="GET http://192.168.0.133 /test.html HTTP/1.1n"
"Accept: text/xml,application/xml,appliication/xhtml+xml,text/html:q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5"
  "Accept-Language: zh-cn,en-usn"
      "User-Agent:Mozilla/5.0n"
      "Host: 192.168.0.133:8080n"
“Keep-Alive: 300”
      "Connection: keep-alivenn"



这个http协议头怎么写。

首先对返回数据的状态进行判断,仅当状态为“ HTTP 200 OK ”时才表明正确返回,这时才对数据进行解析并保存,如果状态为HTTP 404 NOT FOUND或者其它状态则表明没有找到资源或者出现其它问题,可参考HTTP 1.1状态代码及其含义。
当数据正确返回时,为了将实际数据从协议中分离出来进行保存,需要对HTTP数据包进行解析得到Content-Length,然后在包含Content-Length的当前数据包或者随后的数据包中查找第一个空行,这就是内容(Content)的开始位置,再配合前面解析得到的Content-Length,就能够知道什么时候数据接收完成了。换行符为“rn”,也兼容“n”或者“r”,设换行符为^P,则空行如果位于内容中间或结尾则可查找“^P^P”,若位于开头,则查找^P。

这边这端话。有没有高手实现下。或者提供写资料。说一下其中的关键点。
谢谢了。

|
友情帮顶,,

|
用socket方式通信,按照http协议组织报文,发送请求,接收应答

主要的就是字符串的解析
可以参考一下HTTP协议格式

|
建议详细的仔细的看下HTTP协议

|
抓几个包,看看成功和不成功的报文内容,然后就是字符的解析

|
用现成的http封装,各大语言,直接提交请求,然后解析和read返回的信息即可

    
 
 

您可能感兴趣的文章:

  • 能够在端口9001上监听其他应用的UDP请求,并打印其请求的数据包内容。先不管什么格式,请问如何用socket编写。
  • 创建了2个套接字Raw socket和socket,都调用recvfrom(),一个专门捕获数据包,一个在9001端口监听UDP请求,怎么不行?
  • socket通信 请求应答
  • unix socket编程的问题--服务器突然断掉,客户端如何察觉并发动请求重新连接
  • C# Socket连接请求超时机制实现代码分享
  • socket发送端、接收端同一机器,kill掉接收端进程,发送端也被kill?
  • 用sendto(socket, buf, strlen(buf), ...)发送一个包,如何得到发送的源地址(也就是本机的源地址)
  • 同多个线程通过同一个socket发送数据,操作系统底层会同步每个发送操作吗
  • 通过socket连接一次性发送大数据量的问题
  • socket发送数据问题(50分)
  • vc通过socket发送数据给java的问题
  • libevent2需要从socket读一段数据写入一个socket中,同时发送给另一个socket
  • 关于socket下的发送和接收缓冲区的问题
  • 发送大量数据,socket API最优分包长度为多少?
  • UDP SOCKET编程,不能发送广播数据包
  • getsockopt每次得到的socket的接收发送缓冲怎么都不一样
  • 我调用socket向外发送消息,为什么在发送的同时,会打印字符串到屏幕上
  • 请问如何判断从raw socket发出的包是哪个进程发送的?
  • 如何查看某socket的发送缓冲中的数据量呢?
  • [求助]请问socket编程中send()函数可以发送整形数据吗?
  • SOCKET发送奇怪问题!!!
  • 请问怎么通过Socket发送一个int数值?急,谢谢!!
  • 用socket的send发送一个自定义类的问题
  • socket中server是如何向多个client发送消息的?
  • socket断连后居然发送数据还能成功?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux socket问题。。怎样获得已帮定特定port的一个套接字socket
  • 关于socket概念的理解问题!
  • socket编程 中的bind问题
  • 你是否可以回答Socket的问题?数据先后问题
  • 创建了2个套接字Raw socket和socket,都调用recvfrom(),一个专门捕获数据包,一个在9001端口监听UDP请求,怎么不行? iis7站长之家
  • Socket的问题
  • socket accept问题,大家指教。
  • socket客户端程序的问题
  • 关于多网口socket通信的简单问题
  • fgets用在SOCKET流上的问题
  • linux socket fd 写阻塞问题
  • linux下用socket实现多进程间通信问题?
  • 请教:多线程使用同一个socket进行数据收发会出现什么问题?
  • sco unix下socket编程的问题,请大家帮忙
  • 请问socket方面的问题
  • socket编程中的问题,请各位大侠指教!
  • 急!!请教关于linux socket编程的一个问题!!
  • socket编程,使用recvfrom()函数监听问题。
  • linux下socket编程问题!
  • 请教两个小问题:一个cgywin下使用vi的问题,另一个socket的问题
  • java命名空间java.net类socket的类成员方法: socket定义及介绍
  • re socket编程中 ACCEPT返回的socket与原socket(他参数中的)端口号一样吗?
  • java命名空间java.nio.channels类socketchannel的类成员方法: socket定义及介绍
  • socket 通讯开发包 Simple Sockets
  • java命名空间java.nio.channels类serversocketchannel的类成员方法: socket定义及介绍
  • C++ Socket 库 C++ Sockets
  • java命名空间java.nio.channels类datagramchannel的类成员方法: socket定义及介绍
  • vc做的的socket应用和unix下socket?
  • java命名空间java.net类socket的类成员方法: getsendbuffersize定义及介绍
  • QSocketDevice ( int socket, Type type )中那个 int socket 是哪里来得?
  • java命名空间java.net类socket的类成员方法: getreceivebuffersize定义及介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3