当前位置: 首页 > 面试题库 >

使用PHP可以进行异步HTTP请求吗?

公羊俊德
2023-03-14
问题内容

我有一个PHP脚本,需要从远程服务器下载多个文件。目前,我只有一个循环使用cURL下载和处理文件,这意味着它直到下一个文件完成后才开始下载一个文件-
这大大增加了脚本的运行时间。

是否可以启动多个cURL实例,例如,同时异步下载这些文件而无需等待上一个实例完成?如果是这样,将如何实现?


问题答案:

是。

有一个multirequest
PHP库
(或参见:已归档的Google
Code项目
)。这是一个多线程的CURL库。

作为另一种解决方案,您可以编写脚本来使用支持线程的语言(例如Ruby或Python)来执行此操作。然后,只需使用PHP调用脚本即可。似乎很简单。



 类似资料:
  • 我试图理解我在其他文章中看到的关于同步和异步web请求的术语,因此,在下面的场景中: 客户机同步地向服务器发送请求(这意味着客户机被阻塞,直到它收到响应),服务器异步地制定响应(它为每个请求启动一个新线程,并在该线程上创建响应)。 请求本身是同步的,而请求的处理是异步的吗?

  • 问题内容: 想象我在一个已经有后台线程的服务中。我可以在同一线程中使用Volley发出请求,以便回调同步发生吗? 这样做有两个原因:-首先,我不需要另一个线程,创建它会很浪费。-其次,如果我处于ServiceIntent中,则线程的执行将在回调之前完成,因此,我不会收到Volley的响应。我知道我可以创建自己的Service,该Service具有可以控制的Runloop线程,但是最好在volley

  • 问题内容: PHP中有没有办法进行异步HTTP调用?我不在乎响应,我只想做类似的事情,但不等待请求完成再执行其余代码。这对于在我的应用程序中触发某种“事件”或触发较长的进程非常有用。 有任何想法吗? 问题答案: 我以前接受的答案没有用。它仍然在等待回应。但这确实有效,取自我如何在PHP中发出异步GET请求?

  • 嘿,希望有人能帮我一下。 我正在尝试使用Scala Actors和 Netty.io 库来获取异步http请求。(是的,我知道Scala演员正在被弃用,但这对我来说是一个学习练习) 我编写了一个角色,它接受案例类Request Page(uri: URI)形式的消息。 当它接收到消息时,它创建了必要的Netty对象,需要发出超文本传输协议请求,我已经基于来自[](http://static.net

  • 我有2个微服务(A和B)。 有一个接受POST请求的endpoint。当用户发出发布请求时,会发生以下情况: 服务A从POST请求正文中获取对象并将其存储在数据库中。 服务A将对象转换为不同的对象。新对象通过泽西HTTP客户端发送到服务B。 步骤 2 发生在我创建的 Java 线程池(Executors.new缓存线程池)上。通过在新线程上执行步骤 2,服务 A 的终结点的响应时间不受影响。 但是

  • 问题内容: 我在使用redis和nodejs时遇到问题。我必须遍历电话号码列表,并检查我的Redis数据库中是否存在该号码。这是我的代码: “之后”控制台日志出现在“之前”控制台日志之前,并且回调始终返回一个empty 。这是因为如果我很了解,对redis的请求是异步的。但问题是我不知道如何使它起作用。我能怎么做 ? 问题答案: 您有两个主要问题。 您的变量将不是您想要的变量。可以通过更改 数组的