gpt4 book ai didi

php - 多次运行后 CURL 失败,显示 "could not establish connection"或 "connect() timed out"

转载 作者:搜寻专家 更新时间:2023-10-31 21:15:10 24 4
gpt4 key购买 nike

我正在尝试为大量网页编制索引。

简而言之

  1. 使用 CRON 作业调用 PHP 脚本
  2. 获取一些(大约 15 个)最近最少更新的 URL
  3. 使用 CURL 查询这些 URL

问题

在开发中一切顺利。但是当我开始索引比一些测试页更多的索引时,CURL 在一些运行后拒绝工作。它不会从远程服务器获取任何数据。

错误信息

这些错误CURL已经打印出来了(当然不是一下子)

  1. 无法连接到主机
  2. 操作在 60000 毫秒后超时,收到 0 个字节

我正在使用 V-Server 并尝试使用 Firefox 或 wget 连接到远程服务器。也没什么。但是,当从我的本地计算机连接到该远程服务器时,一切正常。

等待几个小时,它再次运行了一些。

对我来说,这似乎是远程服务器上的问题或 DDOS 保护或类似问题,你们怎么看?

最佳答案

当您发送太多请求时,您应该使用代理,因为您的 IP 可能会被站点通过其 DDOS 保护或类似设置阻止。

这里有一些注意事项:(我用来抓取网站数据的)

1.使用代理。

2.使用随机用户代理

3.随机引用

4.crons 中的随机延迟。

5.请求之间的随机延迟。

我要做的是让脚本永远运行并在两者之间添加 sleep 。

ignore_user_abort(1);
set_time_limit(0);

只需访问 url 几秒钟即可触发它,它将永远运行。

关于php - 多次运行后 CURL 失败,显示 "could not establish connection"或 "connect() timed out",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10497648/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com