请求Gracenote Web API超时

时间:2014-08-14 02:58:49

标签: gracenote

我正在使用PHP脚本访问gracenote的WEB API。虽然它有时会起作用,但它在大多数时候都会给我一个超时错误。这是我得到的错误:

  

exception:code = 2001,message =请求Gracenote WebAPI定时   out。,ext = PHP致命错误:未捕获的异常   ' Gracenote公司\的WebAPI \ GNException'有消息'请求Gracenote   WebAPI超时。'在   /home/kubuntu/Downloads/php-gracenote-master/php-gracenote-master/php-gracenote/HTTP.class.php:1

这是我非常简单的代码:

<?php
include("./php-gracenote/Gracenote.class.php");

$clientID  = ""; 
$clientTag = ""; 

$api = new Gracenote\WebAPI\GracenoteWebAPI($clientID, $clientTag); 
$userID = "xxxxxxxxxxxxxxxxxx";
echo "UserID = ".$userID."\n";

$results = $api->searchArtist("Bob Dylan");
var_dump($results);

出了什么问题?

3 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,其中每10个请求中有9个请求超时,并出现以下错误:

http: external request POST url=https://1234567.web.cddbp.net/webapi/xml/1.0/, timeout=20000 exception: code=2001, message=Request to a Gracenote WebAPI timed out., ext=0 
Fatal error: Uncaught exception 'Gracenote\WebAPI\GNException' with message 'Request to a 
Gracenote    WebAPI timed out.' in /usr/samba/dev/gracenote/php-gracenote/php-  
gracenote/HTTP.class.php:110 Stack trace: #0 /usr/samba/dev/gracenote/php-gracenote/php-
gracenote/HTTP.class.php(94): Gracenote\WebAPI\HTTP->validateResponse(false) #1 
/usr/samba/dev/gracenote/php-gracenote/php-gracenote/HTTP.class.php(144): Gracenote\WebAPI\HTTP-
>execute() #2 /usr/samba/dev/gracenote/php-gracenote/php-gracenote/Gracenote.class.php(59): 
Gracenote\WebAPI\HTTP->post('<QUERIES>? ...') #3 /usr/samba/dev/gracenote/php-
gracenote/example.php(31): Gracenote\WebAPI\GracenoteWebAPI->register() #4 {main} thrown in 
/usr/samba/dev/gracenote/php-gracenote/php-gracenote/HTTP.class.php on line 110    

原因(我怀疑)是curl连接缺少的SSL选项参数。

我可以通过将其添加到HTTP.class.php中的第38行来永久修复。

    curl_setopt($this->_ch, CURLOPT_SSLVERSION,     3);

答案 1 :(得分:1)

正如Yavor所建议的那样,问题与服务器上的SSL设置有关。但我们现在已经添加了对TLS v1.2的完全支持,因此您的原始代码应该使用默认的SSL设置。

由于POODLE漏洞,您不应使用SSL v3。

答案 2 :(得分:0)

你应该使用try / catch围绕gracenote api调用,gracenote HTTP客户端抛出各种异常

e.g。 https://github.com/richadams/php-gracenote/blob/25e0346443dd5026a4bc9f0d62a589d44bdc133b/php-gracenote/HTTP.class.php#L110