项目需要,场景如下:

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

代码如下:

 /**
* 发起异步请求,忽略返回值
* @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. css中的float属性以及清除方法 (2011-09-03 17:36:26)

    CSS里面的浮动属性是布局的常用工具,只有真正了解它并熟练使用才能将它的优点发挥到极致. 许多页面中都有文字绕图效果,并且各区块分布得错落有置,很多朋友在自学CSS布局时为了做出这些效果往往会被div ...

  2. Spring的IOC/DI使用到的技术

    一.了解Spring IOC/DI 1:Spring有两大核心技术,控制反转(Inversion of Control, IOC)/依赖注入(Dependency Injection,DI)和面向切面 ...

  3. 【协议】2、TCP/IP协议三次握手与四次握手流程解析

    一.TCP报文格式  TCP/IP协议的详细信息参看<TCP/IP协议详解>三卷本.下面是TCP报文格式图:图1 TCP报文格式  上图中有几个字段需要重点介绍下:  (1)序号:Seq序 ...

  4. Hadoop HDFS 设计随想

    目录 引言 HDFS 数据块的设计 数据块应该设置成多大? 抽象成数据块有哪些好处? 操作块信息的命令 HDFS 中节点的设计 有几种节点类型? 用户如何访问 HDFS? 如何对 namenode 容 ...

  5. 外机连接本机的虚拟机服务器_VM端口映射

    说明:有时候我们把服务器放在虚拟机上的时候只能本机在网页上连接,但是如果想要别的电脑也能访问的话,需要在VM上做一个映射.实现如下: 设置VM端口映射 一.打开VM->编辑->虚拟网络编辑 ...

  6. Python全栈学习_day003作业

    day3作业及默写 1,有变量name = "aleX leNb" 完成如下操作: 1) 移除 name 变量对应的值两边的空格,并输出处理结果 print(name.strip( ...

  7. Change事件多参

    @change="(value) => selected(value, item)" selected(val, item) { if (val === true) { th ...

  8. blfs(systemd版本)学习笔记-编译安装sudo并创建普通用户配置sudo权限

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! blfs书中sudo的安装配置章节:http://www.linuxfromscratch.org/blfs/view/stab ...

  9. webpack单独打包一个less文件

    需要将btn.less文件用webpack打包后,放到项目中.在网上百度了各种,遇到了很多问题,现在我将整个步骤整理如下: 1.建一个空的文件夹,命名为init_webpack,在该文件夹下运行: 这 ...

  10. 组件化和 React

    一,对组件化的理解 1,组件的封装 -视图 -数据 -变化逻辑(数据驱动视图变化) 例: import React, { Component } from 'react'; import List f ...