问题标签 [curl-multi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - PHP Codeigniter curl_multi_init 错误
这是我的代码:
我明白了Fatal error: Call to undefined function curl_multi_init() in /var/www/application/libraries/facebook.php on line 123
这是在我的本地机器上运行的......这可能是个问题吗?我不明白。
php - 如何在php中同步多个curl_multi请求?
我想使用 curl_multi 来执行一些异步请求,但我想同时进行一组请求,因为当请求的响应满足我的需求时,我打算停止所有请求。这是我的代码:
这是带有 curl_multi 代码的 getOfertas() 中的函数
php - curl_multi_init 为每个句柄使用不同的代理?
我想编写一个脚本,curl_multi_init()
但我必须curl_setopt()
只用我的代理指定一次,而不是为每个句柄指定,有没有一种方法可以为每个句柄使用不同的代理来解决这个问题?
我得到了解决方案,使用新的指定您想要的代理,curl_init()
然后添加一个新的句柄。
等等。
php - PHP 多卷曲 - 在多卷曲运行时获取内容
我正在设计一个带有多卷曲的简单抓取解析器。我看过很多例子,但有一个小问题。解析器正在等待最慢的响应,然后开始解析。
在多卷曲仍在运行时,是否有一些很酷的方法可以开始解析?因为如果最慢的请求是 10 秒,那么整个脚本将等待 10 秒,然后开始解析源。
谢谢尼克
php - 进度功能和 CURL 多
我有这段代码,其中有一个远程文件列表(例如图像),可以使用 multi curl 下载:
问题是我想制作某种进度条,所以 php 应该给我有关下载进度的信息。例如,我希望有一个计数器,每次文件下载完成时都会增加一个(然后很容易在 .txt 文件上写这个计数器并使用 ajax 每 n 秒检索一次,以了解有多少文件直到那一刻才被下载)。为此,我附加了函数“curl_progress_callback”,但我不知道在里面放什么来做我想做的事......
编辑:最后我设法用一个小功能实现了这一点
但是,如果有人知道更好的解决方案,我将不胜感激...
php - 请求之间的 PHP cURL multi_exec 延迟
如果我运行一个标准的 cURL_multi_exec 函数(下面的示例),我会立即获得所有请求的 cURL 句柄。我想在每个请求之间延迟 100 毫秒,有没有办法做到这一点?(在 Google 和 StackOverflow 搜索中没有找到)
我在 curl_multi_exec() 之前尝试过 usleep() ,它会减慢脚本但不会推迟每个请求。
我整天都在为此工作,任何帮助将不胜感激!谢谢你。
编辑:任何其他非 cUrl 方法?这也将回答我的问题。
php - PHP CURL_Multi 检查已完成句柄的状态、删除、添加、超时
所以我正在处理多达 3000 个链接,我正在使用 curl_multi 来加快处理速度。我一次使用 20 个简单的过程,等待所有 20 个完成,再处理 20 个类型的方法,但我知道这是低效的,特别是如果这 20 个链接中的一个需要永远下载。因此,我需要知道如何在从该 url 获取内容后立即通过添加/删除句柄来编写一个遍历所有 3000 个链接的循环。
我正在使用其中一些基础知识:
我需要能够:
1)检查句柄何时完成,并知道该句柄属于我的多维数组中的哪个url
2) 检索该句柄的内容并根据该句柄的内容是否属于$allurls[0][0],$allurls[0][1]
, 或$allurls[0][2]
(每个进程的不同进程)分配一个进程
3) 删除该句柄并添加另一个 URL,$allurls
直到处理完所有链接
4)在任何花费超过一定时间的URL上处理手动超时,比如2分钟(因为CURLOPT_CONNECTTIMEOUT
&CURLOPT_TIMEOUT
在curl_multi环境中无法正常工作(或者至少这是我基于http的经验和理解: //curl.haxx.se/mail/curlphp-2008-06/0006.html )),但我还需要知道$allurls
该 URL 是否超时...
我知道这似乎有点工作,但对于知道这一点的人来说,它不应该做那么多工作......我只是不知道如何做的细节......谢谢。
php - PHP curl_multi removing and closing lingering handles
I have a loop that goes through approximately 3k urls using curl_multi and I need to know of away to remove any remaining handles from curl_multi to make sure I'm not wasting resources... is there any way to do it, or do I have to go though each of the 3k handles and remove them and then close them? What if they are already removed and closed?
I use a manual timeout at the end which accounts for cURL_multi's inability to timeout on the CURLOPT_CONNECTTIMEOUT
/ CURLOPT_TIMEOUT
options and there may be lingering URL handles that are still 'trying' to get data.
I don't mind doing a foreach()
loop, but how do I check to see if a handle has already been removed, if I try to remove it won't it cause a 'this is not set' type of error? Does removing a curl handle actually unset()
that variable, i.e. I can run a isset()
test on it?
php - cURL multi 打开的套接字太多
我正在使用 cURL multi 从某些网站获取数据。带代码:
但是,我的问题是 cURL 打开了太多套接字以连接到网络服务器。每个连接,cURL 都会为 web 服务器创建新的套接字。我希望当前连接保持活动状态以进行下一个连接。我不想要 100 个 URL,然后 cURL 必须创建 100 个套接字来处理:(
请帮我。非常感谢 !
php - CURL同时测试一个url的多个ip地址:响应问题
我正在对 URL 发出 curl 请求。此 URL 由许多服务器托管 ==> 许多 IP 地址。想象一下“www.example.com”由
- 192.168.60.31
- 198.166.15.15
- 217.15.74.1
这是我做的测试:
这里的问题是,当我将信息可视化时,我得到了这个:
如您所见:在某些服务器中,我不获取时间信息(一切都设置为 0)此代码有什么问题吗?