fsocket发送post实现异步请求
2024-10-15 02:58:11
function triggerRequest($url, $post_data = array(), $cookie = array()){
//可以通过POST或者GET传递一些参数给要触发的脚本
$url_array = parse_url($url); //获取URL信息,以便平凑HTTP HEADER
$port = isset($url_array['port'])? $url_array['port'] : 80; $fp = fsockopen($url_array['host'], $port, $errno, $errstr, 30);
if (!$fp){
return FALSE;
} $getPath = $url_array['path'];
isset($url_array['query']) && $getPath.= "?". $url_array['query'];
$method = empty($post_data) ? "GET":"POST"; $header = $method . " " . $getPath;
$header .= " HTTP/1.1\r\n";
$header .= "Host: ". $url_array['host'] . "\r\n"; //HTTP 1.1 Host域不能省略 if(!empty($post_data)){
$_post = http_build_query($post_data); $header .= "Content-Type: application/x-www-form-urlencoded\r\n";//POST数据
$header .= "Content-Length: ". strlen($_post) ." \r\n";//POST数据的长度
$header .= "Connection:Close\r\n\r\n"; $header .= $_post."\r\n\r\n "; //传递POST数据
} fwrite($fp, $header);
//echo fread($fp, 1024); //我们不关心服务器返回
fclose($fp);
return true;
}
最新文章
- 分享两种实现Winform程序的多语言支持的解决方案
- Singleton<;T>;
- 关于JavaScipt对象的基本知识
- 重构:CSS也面向对象
- Html5 Canvas Text
- SIP DB33标准笔记 监控图像获取
- Tomcat7配置管理员帐号密码及权限
- Django学习-7-ORM操作
- python之面试复习
- ThinkPHP5 与ThinkPHP3.2公共函数放置位置
- Codeforces 1045B Space Isaac
- <;数据结构与算法分析>;读书笔记--运行时间计算
- 最大似然估计(Maximum likelihood estimation)(通过例子理解)
- 案例2:用一条SQL查询出数学语文成绩都大于80分的学生姓名?
- 【洛谷】P4199 万径人踪灭
- numpy生成随机数组
- 七牛云 PHP SDK服务器鉴权失败!参数解释
- OPENERP 构建动态视图
- SQL Server死锁总结
- Activiti操作数据库中文乱码