项目需要,场景如下:

某个条件下需要调用接口发送多个请求执行脚本,但是由于每个请求下的脚本执行时间在半个小时左右,所以 就放弃返回执行结果,只要求能秒发送所以就可以。

代码如下:

 /**
* 发起异步请求,忽略返回值
* @param $url 请求url
* @return bool
*/
function asyncPost($url)
{
$args = parse_url($url); //对url做下简单处理
$host = $args['host']; //获取上报域名
$path = $args['path'] . '?' . $args['query'];//获取上报地址
$fp = fsockopen($host, 80, $error_code, $error_msg, 1);
if (!$fp) {
Log::record('获取错误信息:'.$error_code . ' _ ' . $error_msg, Log::INFO, true);
Log::save('',LOG_PATH . '_' . date('y_m_d') . '.txt');
return false;//
} else {
stream_set_blocking($fp, true);//开启了手册上说的非阻塞模式
stream_set_timeout($fp, 1);//设置超时
$header = "GET $path HTTP/1.1\r\n"; //注意 GET/POST请求都行 我们需要自己按照要求拼装Header http协议遵循1.1
$header .= "Host: $host\r\n";
$header .= "Connection: close\r\n\r\n";//长连接关闭
fputs($fp, $header);
fclose($fp);
}
}

例子如下:

$url[0] = "http://XXXX/demo.php?a=1&b=2&c=3&d=4&e=5";
$url[1] = "http://XXXX/demo.php?a=1&b=2&c=3&d=4&e=5";
$url[2] = "http://XXXX/demo.php?a=1&b=2&c=3&d=4&e=5";
$url[3] = "http://XXXX/demo.php?a=1&b=2&c=3&d=4&e=5";
$url[4] = "http://XXXX/demo.php?a=1&b=2&c=3&d=4&e=5";
$url[5] = "http://XXXX/demo.php?a=1&b=2&c=3&d=4&e=5";
foreach($url as $k=>$val){
asyncPost($val);
}

结果如下:

上述是我多次测试结果,时间范围如上。

本文参考文章地址:https://blog.csdn.net/zzb854767470/article/details/83051523

PHP 用 fsockopen()、fputs() 来请求一个 URL,不要求返回的更多相关文章

  1. 使用UrlConnection请求一个url地址获取内容

    访问网络需要加Internet权限:android.permission.INTERNET 使用UrlConnection请求一个url地址获取内容:             //1.创建一个Url对 ...

  2. 请求一个url的全过程

    最近在进行前端面试方面的一些准备,遇到了一个经典前端问题,一个url从输入到页面加载中间到底发生了什么,以前也认真想过这个问题,但是当时回答的都不全面,现在来好好总结一下: 总体来说分为以下六个步骤: ...

  3. Java小知识---Java请求一个URL。获取网站返回的数据

    对url发送请求,获得返回值: public static String SendGET(String url,String param){ String result="";// ...

  4. 获取一个请求的URL内容

    using System.Net; 1. // 创建一个请求的URL.          WebRequest request = WebRequest.Create("http://www ...

  5. cookie是指web浏览器存储的少量数据,该数据会在每次请求一个相关的URL时自动传到服务器中(转)

    基本概念:cookie是指web浏览器存储的少量数据,该数据会在每次请求一个相关的URL时自动传到服务器中. 以博客园为例,我们看看cookie有哪些属性: 1.Name:cookie的名称: 2.V ...

  6. Ajax请求参数到一个URL包含下划线或者v(_、v)

    Ajax请求参数到一个URL包含下划线或者v 初学者的我,在F12时,看到这个地址就会很奇怪,不理解什么东西 经过查找了解到浏览器默认开启缓存,该参数不是其他请求所必须的,把它去掉不影响数据的获取 h ...

  7. 从一个url输入浏览器到页面渲染出来,这个过程都发生了哪些事情?

    经典问题:在浏览器输入一个url后,会发生什么事情呢? (1)假设是简单的http请求(GET),IPV4,无代理. 浏览器先查看浏览器缓存-系统缓存-路由器缓存,若缓存中有,请略过中间步骤,直接跳到 ...

  8. 当你在浏览器地址栏输入一个URL后回车,将会发生的事情?

    原文:http://igoro.com/archive/what-really-happens-when-you-navigate-to-a-url/ 作为一个软件开发者,你一定会对网络应用如何工作有 ...

  9. 一个URL链接到一个页面发生了什么?

    最开始觉得这是一个很难理解的东西,后来看了很多人写的发现并没有那么难理解,本人只是一个学渣有什么说的不对的地方希望大家能够指出来! 一个URL从我们输入的那一刻起,到返回页面到底发生了什么呢? URL ...

随机推荐

  1. About me & 一些置顶的博文

    About me 一只历史上最弱的 \(\text{hnoier}\) ... 身在 \(\text{hn}\) 弱校,除了在四大名校夹缝中生存,还要受到同校 \(\text{Julao}\) 的鄙视 ...

  2. OSPF笔记

    OSPF:现实情况中99%的网络运行的是这种路由协议 OSPF有三张表:邻居表,链路状态数据库(LSDB),路由表 SPF算法 OSPF架构为花瓣形(不同area组成花瓣)就是为了防环,因为骨干区域运 ...

  3. 4.移植uboot-使uboot支持DM9000网卡

    在上一章,使uboot能够支持nor.nand 本节继续修改让uboot支持DM9000C网卡,便可以通过网络来传输文件 首先uboot已带有dm9000网卡的驱动,位于drivers/net/下的d ...

  4. 【Tomcat】Tomcat日志切割

    下载并解压缩 cronolog # tar zxvf cronolog-1.6.2.tar.gz 2.进入cronolog安装文件所在目录 # cd cronolog-1.6.2 3.运行安装  # ...

  5. 【github&&git】2、github入门到上传本地项目

    [在原文章的基础上,修改了描述的不够详细的地方,对内容进行了扩充,整合了网上的一些资料] [内容主要来自http://www.cnblogs.com/specter45/p/github.html#g ...

  6. 如何用minitab检测一组数据是否服从正态分布

    打开Minitab之后 点击Stat>Basic Statistics> Normality Test  分析之后若 P value(P值)>0.05,说明此组数据服从正态分布

  7. blfs(systemv版本)学习笔记-编译安装ligtdm显示管理器

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! ligtdm带有显示管理器和登录器,参照我的笔记安装xorg和i3后安装lightdm,就可以组成一个简易的桌面环境了 下面是l ...

  8. hdu-3790 最短路径问题(双重权值)

    Problem Description 给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费,如果最短距离有多条路线,则输出花费最少的. Input ...

  9. 通过PHP来 获取文件内容 并且分割字符串 呈现在表格中

    <?php $aaa = file_get_contents("names.txt"); $data = explode("\n", $aaa); for ...

  10. 纯css抖动效果

    HTML: <button class="shake">按钮</button> CSS: .shake{ width: 120px; height: 33p ...