php socket模拟http中post或get提交数据
sock_post.php:
- <?php
- /**
- * php socket模拟post\get请求
- * 编辑:脚本学堂 http://www.jbxue.com
- */
- function sock_post($url, $data='') {
- $url = parse_url($url);
- $url['scheme'] || $url['scheme'] = 'http';
- $url['host'] || $url['host'] = $_SERVER['HTTP_HOST'];
- ] != '/' && $url['path'] = '/'.$url['path'];
- $query = $data;
- if(is_array($data)) $query = http_build_query($data);
- );
- if (!$fp) return "Failed to open socket to $url[host]";
- fputs($fp, sprintf("POST %s%s%s HTTP/1.0/n", $url['path'], $url['query'] ? "?" : "", $url['query']));
- fputs($fp, "Host: $url[host]/n");
- fputs($fp, "Content-type: application/x-www-form-urlencoded/n");
- fputs($fp, "Content-length: " . strlen($query) . "/n");
- fputs($fp, "Connection: close/n/n");
- fputs($fp, "$query/n");
- );
- if (@!eregi("^HTTP/1/.. 200", $line)) return;
- $results = "";
- ;
- while(!feof($fp)) {
- );
- if ($inheader && ($line == "/n" || $line == "/r/n")) {
- ;
- }elseif (!$inheader) {
- $results .= $line;
- }
- }
- fclose($fp);
- return $results;
- }
- $re = sock_post('http://localhost/direct_post/get_post.php?id=1',array('wel'=>'hello'));
- echo $re;
- ?>
get_post.php:
- <?php
- echo "post:";
- print_r($_POST);
- echo 'get:';
- print_r($_GET);
- ?>
php socket模拟http中post或get提交数据的更多相关文章
- 在Action中获取表单提交数据
-----------------siwuxie095 在 Action 中获取表单提交数据 1.之前的 Web 阶段是提交表单到 Servlet,在其中使用 Request 对象 的方法获取数据 2 ...
- JQuery中使用FormData异步提交数据和提交文件
web中数据提交事件是常常发生的,但是大多数情况下我们不希望使用html中的form表单提交,因为form表单提交会中断当前浏览器的操作并且会调到另一个地址(即使这个地址是当前页面),并且会重复加载一 ...
- php中使用Curl、socket、file_get_contents三种方法POST提交数据
抓取远程内容,之前一直都在用file_get_content函数,其实早就知道有curl这么一个好东西的存在,但是看了一眼后感觉使用颇有些复杂,没有file_get_content那么简单,再就是需求 ...
- ecstore中怎样使用ajax提交数据
//javascript代码 $$(".bb").addEvent('change',function(e){ var order_item_id = this.get('orde ...
- HTML表单提交数据中application/x-www-form-urlencoded和multipart/form-data的区别
在Form元素的语法中,EncType表明提交数据的格式 用 Enctype 属性指定将数据回发到服务器时浏览器使用的编码类型. 下边是说明: application/x-www-form-urlen ...
- C#调用接口注意要点 socket,模拟服务器、客户端通信 在ASP.NET Core中构建路由的5种方法
C#调用接口注意要点 在用C#调用接口的时候,遇到需要通过调用登录接口才能调用其他的接口,因为在其他的接口需要在登录的状态下保存Cookie值才能有权限调用, 所以首先需要通过调用登录接口来保存c ...
- 在Java中使用Socket模拟客户端和服务端(多线程)
1:Socket与ServerSocket的交互 2.Socket和ServerSocket介绍 Socket 构造函数 Socket() Socket(InetAddress address, in ...
- C# Socket 模拟http服务器帮助类
0x01 写在前面 0x02 Http协议 0x03 TCP/IP 0x04 看代码 0x05 总结 0x01 写在前面 由于工作中,经常需要在服务器之间,或者进程之间进行通信,分配任务等.用Sock ...
- Python socket模拟HTTP请求
0x00 起 最近在做一个对时间要求比较高的扫描器,需要封装一下SOCKET模拟HTTP发包的一些常用函数.简单的说,就是重写一下requests中的get.post方法. 今天在写的时候,遇到一枚很 ...
随机推荐
- jQuery.speech实现文本转语音播报功能
先放一个实例的地址https://github.com/wenco/speech jQuery.speech是用jQuery写的扩展插件,主要是用来语音播报. 接口调用百度翻译的接口,所以存在url参 ...
- 双目立体匹配经典算法之Semi-Global Matching(SGM)概述:视差计算、视差优化
文章目录 视差计算 视差优化 剔除错误匹配 提高视差精度 抑制噪声 视差计算 在SGM算法中,视差计算采用赢家通吃(WTA)算法,每个像素选择最小聚合代价值所对应的视差值作为最终视差,视差计算的结 ...
- NX二次开发-UFUN多选菜单对话框uc1605
NX11+VS2013 #include <uf.h> #include <uf_ui.h> UF_initialize(); //多选菜单对话框 char sPromptSt ...
- (转)简单的RPC java实现 .
转:http://blog.csdn.net/jackliang55/article/details/7580563 我也承认,RPC的名声大噪之时是在2003年,那一个“冲击波”病毒(Blaster ...
- 用mybatis时log4j总是不记录sql语句
log4j:WARN No appenders could be found for logger (org.apache.ibatis.logging.LogFactory).log4j:WARN ...
- mobile开发技巧
1.隐藏地址栏 很多文档介绍通过调用 window.scrollTo(0, 1); 就可以隐藏地址栏,但是通过实践发现隐藏地址栏还是真够坑爹的啊,只调用这一句话一般不会起作用,我们需要 functio ...
- canvas前端压缩图片和视频首屏缩略图并上传到服务器
图片: var img = document.createElement('img') img.src = window.URL.createObjectURL(fileObj.file) // 加载 ...
- 注意:阿里Druid连接池监控的两个坑
阿里的Druid大家都知道是最好的连接池,其强大的监控功能是我们追求的重要特性.但在实际情况中也有不少坑,说下最近遇到的一个坑吧! 问题1:不断打印error级别的错误日志 session ip ch ...
- eclipse新建maven项目和聚合项目
1.new maven project : next 2.勾选 create a simple project : next 3.Group Id:项目的包路径 如com.jiayou.zjl, ...
- jquery.js和jquery.min.js的区别和springboot整合echarts.min.js
1.区别:jquery官网提供2种jQuery的下载,一种是jquery.js另一种是jquery.min.js文件名不一定完全相同,但通常情况下:jquery.js是完整的未压缩的jQuery库,文 ...