问题标签 [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.

0 投票
1 回答
450 浏览

php - PHP cURL代理和发布问题

我正在制作一个脚本,可以检查帐户是否仍然有效并且可以工作。我正在使用这个功能:

这是 try.php :

问题是,当我对破解功能执行此操作时,它可以完美运行:

这个^^^的结果是:

mnop 可能是一个有效的密码

但是,一旦我从该部分中删除 // 并取消注释它:

curl_setopt($ch[$i], CURLOPT_PROXY, $proxy);

一切都出错了,这就是结果:

这是 wordlist.txt :

这是 proxylist.txt :

请问有人可以帮我吗???我为此付出了很大的努力,制作整个代码花了很长时间。

0 投票
2 回答
1157 浏览

php - 为什么 curl_multi 在我的本地主机中无法正常工作?

我使用一个 php 函数来返回 1000 多个网站的状态(即网站是 up 还是 down)。

虽然我使用curl_multi,但是这个过程的时间很长;为此,我该如何进行并行处理。

0 投票
1 回答
24922 浏览

php - 了解 php curl_multi_exec

我试图理解 curl_multi_exec。我在这里复制了一段手动示例。所以我想知道,它是如何工作的?第一个循环发送我猜的http请求?但它随后是一个循环内的循环,使用带有看似未记录的标志的函数..

我想并行下载 +=70 个网址 +=。

http://www.php.net/manual/en/function.curl-multi-exec.php

0 投票
2 回答
1863 浏览

php - Arduino 客户端 + PHP cURL 服务器执行命令两次

我有这个项目正在做的工作,我从单个 PHP 服务器命令几个 Arduino(Arduino 核心 + ENC28J60 以太网 + x4 继电器执行器)模块来激活任何 Arduino 模块上的继电器。服务器有一个所有事件的列表,并在每个事件合适的时候执行它们。问题在于,只要命令相隔超过 4 分钟(即 >=5 分钟),Arduino 就会执行两次命令。也就是说,Arduino 激活了我连续两次命令的继电器。

代码的作用是: 1. thor.php 线性执行一次(任务由 crontab 重复) 2. thor.php 在其数组中搜索当前时间发生的事件 3. 对于每次出现它都会生成一个任务,该任务被传递给 curl 多处理程序 4。所有任务都并行发送到每个 arduino 模块。5. Arduino收到请求时,检查是否来自已知IP地址和允许的端口,分析参数中的命令,并根据请求激活继电器。6. Arduino 然后发送一个带有隐藏字段的响应页面,该隐藏字段将在未来用于控制。

理论上一切正常,但只要命令相隔 5 分钟或更长时间,Arduino 就会执行两次命令。

我把整个代码放在后面。这是Arduino:(请原谅西班牙语的评论)

雷神.php:

thorconfig.php

常见的.php:

当我在不到 4 分钟的时间内执行命令时它应该只执行一次,否则它会执行两次,有什么想法吗?

编辑:我放弃了 PHP 代码中的问题。我在服务器中安装了一个 lynx 文本浏览器,并在 5 分钟内手动执行命令,得到了相同的结果:来自 Arduino 的重复操作。我留下 PHP 代码以防万一有人对它感兴趣并可能使用它。我将继续尝试以找到解决方案。

编辑 2:我放弃了 Arduino 硬件中的问题。我用相同的代码测试了一个开箱即用的新 Arduino Uno(相同型号),它仍然有相同的错误。

编辑3:只是一个想法。PHP服务器是否有可能期望立即响应并且由于Arduino没有立即给出它然后再次发送数据包从而从Arduino获得双重(延迟)响应?这是另一个问题:Arduino 是否有可能两次通过缓冲区而没有意识到?(对我来说,第二种选择似乎不太可能)。

0 投票
1 回答
1869 浏览

php - 从 PHP 中的多个 cURL 返回 http 状态码

我试图从我的脚本发出的两个并行 cURL 请求的标头信息中返回两个 http 状态代码。到目前为止,我的脚本如下所示,最后的 print_r() 打印出:Array ( [0] => 200 [1] => )。我不确定为什么它不返回第二个状态码?提前致谢。

0 投票
1 回答
902 浏览

php - 多 CURL 请求中的随机 500 错误

我正在尝试通过 curl_multi 从 Web 服务获取一些 hal+json 数据以填写 Bootstrap Typeahead。每次运行这段代码,我curl_multi里面的请求有的会是500,有的会返回我需要的数据。500 是完全随机的;下次我加载页面时,不同的查询将改为 500(而且我没有收到错误)。为什么这种情况不断发生?

这是基于http://www.phpied.com/simultaneuos-http-requests-in-php-with-curl/的 singleRequest 和 multiRequest 的代码:

编辑添加错误检查

0 投票
2 回答
6403 浏览

php - php curl 多错误处理程序

我想在我的错误处理程序中捕获 curl 错误和警告,以便它们不会被echo编辑给用户。为了证明所有错误都已被捕获,我将$err_start字符串添加到错误中。目前这里是我的代码的工作(但简化)片段(在浏览器中运行,而不是 cli):

请注意,我的完整代码有多个并行请求,但是问题仍然表现为单个请求,如此处所示。另请注意,此代码片段中显示的错误处理程序非常基本 - 我的实际错误处理程序不会因警告或通知而死亡,因此无需在这方面对我进行培训。

现在,如果我尝试卷曲当前已关闭的主机,那么我成功捕获了卷曲错误,并且我的脚本因以下原因而死:

但是,我的错误处理程序函数未捕获以下警告,并且正在将其echo编辑到页面:

我想在我的错误处理程序中捕获这个警告,以便我可以记录它以供以后检查。

我注意到的一件事是,警告仅在 curl 代码位于函数内部时才会出现 - 当代码处于最高范围级别时不会发生。是否有可能CURLM_OK在函数范围内无法访问 curl 全局变量之一(例如)test_curl()

我正在使用PHP 版本 5.3.2-1ubuntu4.19

编辑

  • 更新了代码片段以充分展示错误
  • 未捕获的警告仅在函数或类方法中出现
0 投票
0 回答
314 浏览

curl - Libcurl NXDOMAIN 导致超时

我的应用程序中的 Libcurl 似乎对不存在的域有问题,因为它在“ NXDOMAIN ”请求(这似乎与 CURLOPT_CONNECTTIMEOUT 匹配)上保持至少 7-20 秒。

这是 pmp(穷人的探查器)输出:

curl命令似乎没有这个问题。它在一秒钟内完成相同的请求。

这个问题可能与这个有关,因为似乎我已经解决了一个问题并最终解决了另一个问题,无法判断它是在最后一次 ubuntu 更新之后还是之前。

这是我项目中的 libcurl 代码:

我已经从源代码构建了 libcurl v7.30(使用 c-ares 并且没有 ipv6)并安装在 ubuntu 12.10 存储库版本上(不确定是否被覆盖,我使用过make install)。

在上次自动更新后,我收到了一个错误,但不知道它是否相关。

0 投票
3 回答
1161 浏览

php - PHP如何做集中curl_multi请求?

我目前有一个用 PHP 编写的网站,利用 curl_multi 轮询外部 API。服务器将子进程从 Web 请求中独立出来,并且运行良好,但它在某种程度上仅限于每个进程的基础。

有时它会遇到带宽瓶颈,需要更好的集中排队逻辑。

我目前正在尝试使用独立后台进程的 PHP IPC 来处理所有传出请求,但被困在通常所说的休闲程序员不太可能满足的事情上。说,垃圾收集,进程间异常处理,请求-响应匹配......等等。我走错路了吗?

那里是否有一种常见的做法(实施理论),甚至是我可以使用的库?

编辑

使用 localhost TCP/IP 通信会使本地流量的压力加倍,这绝对不是一个好方法。

我目前正在使用一些自制协议处理 IPC 消息队列......看起来完全不正确。将不胜感激任何帮助。

0 投票
1 回答
163 浏览

php - 如何编写一个不消耗太多 RAM 的机器人?

我有一个网络机器人,它消耗了我太多的内存,一段时间后,内存使用率达到 50%,进程被杀死;我不知道为什么内存使用量会这样增加,我没有包含“para.php”,它是一个用于并行 curl 请求的库。我想了解更多关于网络爬虫的知识,我搜索了很多,但找不到任何有用的文档或我可以使用的方法。

这是我从中获得 para.php 的库。

我的代码: