当前位置: 技术问答>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
我现在在这里不会。
这个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。
这边这端话。有没有高手实现下。或者提供写资料。说一下其中的关键点。
谢谢了。
叫我实现一个功能。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协议
|
抓几个包,看看成功和不成功的报文内容,然后就是字符的解析
|
用现成的http封装,各大语言,直接提交请求,然后解析和read返回的信息即可