我很难理解API of this site的教程,您可以看到本教程的第一部分使用BASH命令行脚本来获取访问权限
当我在BASH命令行中运行上面的curl命令时,我得到API提供的所有内容的输出
如何仅通过取消AJAX / PHP脚本,如何在没有BASH命令行 的情况下访问API ?我在这里不理解什么?
编辑:
我尝试过:
<?php
$output = shell_exec('curl -X GET https://jsonodds.com/api/odds -H "JsonOdds-API-Key: xxxxxxxx"');
echo "<pre>".$output."</pre>";
?>
我最近的尝试包括根据用户@ v7d8dpo4
的建议尝试$api_key = "yourapikey";
$ch = curl_init("https://jsonodds.com/api/odds?source=3");
curl_setopt_array($ch, array(
CURLOPT_HTTPHEADER => array("JsonOdds-API-Key: " . $api_key),
CURLOPT_RETURNTRANSFER => true));
$response = curl_exec($ch);
在$response
上执行vardump会给我var_dump($response); = bool(false)
在var_dump(curl_getinfo($ch))
上执行vardump会给我= array(26) { ["url"]=> string(38) "https://jsonodds.com/api/odds?source=3" ["content_type"]=> NULL ["http_code"]=> int(0) ["header_size"]=> int(0) ["request_size"]=> int(0) ["filetime"]=> int(0) ["ssl_verify_result"]=> int(0) ["redirect_count"]=> int(0)
我只是在寻找一种连接到API的方法,但是尽管我无法连接多次尝试
答案 0 :(得分:1)
喜欢这个。
$api_key = "yourapikey";
$ch = curl_init("https://jsonodds.com/api/odds?source=3");
curl_setopt_array($ch, array(
CURLOPT_HTTPHEADER => array("JsonOdds-API-Key: " . $api_key),
CURLOPT_RETURNTRANSFER => true));
$response = curl_exec($ch);
答案 1 :(得分:0)
PHP中“https”curl操作的NULL响应通常意味着您没有为SSL正确设置证书链。
您可以添加
进行验证curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
在curl_exec之前。
这告诉curl忽略证书错误:它是“危险的”(因为想要更好的词),所以只用于调试。
如果这表明它是错误,那么您可以通过向链中添加合适的证书或将curl(通过其他选项)指向本地证书来修复。如果取决于您的系统和设置。有关它的更多信息,请访问:https://curl.haxx.se/docs/sslcerts.html