URL错误0:cURL请求重试3次但未成功

时间:2017-09-20 13:47:27

标签: php google-app-engine curl ssl-certificate php-curl

我正在开发一个托管在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).')';

1 个答案:

答案 0 :(得分:2)

我在使用Google云端硬盘应用时遇到了这个问题,经过几个小时试图找到解决方案,我使用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);

值得一试。