URL 错误 0:cURL 请求重试了 3 次,没有成功

Posted

技术标签:

【中文标题】URL 错误 0:cURL 请求重试了 3 次,没有成功【英文标题】:URL error 0: The cURL request was retried 3 times and did not succeed 【发布时间】:2018-03-01 14:55:30 【问题描述】:

我正在开发一个托管在 Google App Engine 上的项目,并使用 app_devserver 进行本地开发。一开始我遇到了证书问题,但是当我终于克服了这个错误时,我得到了这个新错误

我正在使用 Windows 10 和 phpstorm 进行开发。

错误:

消息:cURL 错误 0:cURL 请求已重试 3 次并成功 不成功。失败的最可能原因是 cURL 无法回退请求正文和后续重试 导致了同样的错误。打开调试选项看看发生了什么 错误的。请参阅https://bugs.php.net/bug.php?id=47204 了解更多信息。 (见http://curl.haxx.se/libcurl/c/libcurl-errors.html

看起来此错误表示请求已成功发出但无法解析或解析正文?我该如何解决?

如果需要,这是我的 PHP 代码:(对标签管理器 api v2 的简单调用)

    $client = new Google_Client();
    $client->setAuthConfig('service_account.json');

    $client->setApplicationName("gtmdocx");
    /*$client->setScopes(['https://www.googleapis.com/auth/tagmanager.readonly',
                        'https://www.googleapis.com/auth/tagmanager.manage.accounts',
                        'https://www.googleapis.com/auth/tagmanager.edit.containers']);*/
    $client->setScopes(['https://www.googleapis.com/auth/tagmanager.readonly']);
    $service = new Google_Service_TagManager($client);
    $results = $service->accounts->listAccounts();


    echo $_GET['callback'] . '('.json_encode($results).')';

【问题讨论】:

你有没有想过这个问题?我在使用 google api 时遇到了同样的问题。 @TheValyreanGroup 你用的是什么操作系统,IDE? Windows 和没有 ide。 我刚刚看到下面的回复通过修改接收器路径对您有用? 我还没有尝试过,但是可以。路径权限是我的问题,使用 SINK 解决了这个问题。我只是换了一种方式。 【参考方案1】:

我在使用 Google Drive 应用程序时遇到了这个问题,经过数小时试图找到解决方案,我使用 GuzzleHttp 接收器选项让它工作

$client = new \Google_Client();
// ... Client Configuration

$httpClient = new Client([
    'sink' => 'path_to_any_temp_file',
    'base_uri' => $client->getConfig('base_path'),
]);
$client->setHttpClient($httpClient);

值得一试。

【讨论】:

非常好!经过数小时的搜索和调试,我找到了根本原因,我最终直接修改了 Guzzles 源以使用 temp.txt 文件。这显然要好得多。 老兄....你让我免于很多挫折。非常感谢你。送上 3 年的拥抱,感谢你的方式。

以上是关于URL 错误 0:cURL 请求重试了 3 次,没有成功的主要内容,如果未能解决你的问题,请参考以下文章

curl: (35) 首次请求时连接出现未知 SSL 协议错误

无法解析URL“ https://pub.dartlang.org”。错误(69):无法“发布升级”颤动工具。 5秒钟后重试…(还剩9次尝试)

拉取功能错误;打开 URL 时,“...”的 keepalive 请求失败,重试新连接

理解幂等性

无法解析 URL“https://pub.dartlang.org”。错误 (69):无法“发布升级”颤振工具。 5 秒后重试...(还剩 9 次尝试)

php curl get 参数