PHP socket模拟POST请求
一听到这个功能需求的时候,立即就蒙了,俺一直以为socket是C/S架构里边的东西,俺错了,俺有罪,俺应该主动蹲墙角去。。。
以前模拟post请求俺都用PHP curl扩展实现来着,没想过PHP socket也可以实现。最近翻了下相关资料才发现原来没有那么高深,只是以前一直没有完全理解post的原理和本质而已,其实就是发送给目的程序一个标志为post的协议串如下:
POST /目的程序url HTTP/1.1 Accept: 接收信息格式 Referer: url来路 Accept-Language: 接收语言 Content-Type: application/x-www-form-urlencoded Cookie: 网站cookie,不用俺过多解释,对吧? User-Agent: 用户代理,操作系统及版本、CPU 类型、浏览器及版本等信息 Host: 要发送到的主机地址 Content-Length: 发送数据的长度 Pragma: 本地是否存在缓存 Cache-Control: 是否需要网页缓存 Connection: 连接状态 username=fengdingbo&password=fengdingbo.com //post发送的数据 |
我想大家对表单的post方法提交数据应该是最熟悉不过了,例如我们想把用户名和密码发送给某个页面的时候,填写好相应的input框,点击提交按钮,最后把这个表单发送到action程序的就是以上数据。知道了这一点我想就不难了