1

我在我的网站中使用 php 和 google 的新CSE 。请求的 URL 类似于 https://www.googleapis.com/customsearch/v1?key=INSERT-YOUR-KEY&cx=017576662512468239146:omuauf_lfve&q=lectures

连接为 https 并且 file_get_content() 失败。我怎样才能让它工作?
由于我需要将站点托管在一些外部 Web 托管服务器上,因此我需要不更改 php 配置文件或使用大多数 Web 托管站点上的默认选项的解决方案。

4

2 回答 2

3

您可以使用curl

## HTTPS url that you are targeting.
$url = "https://www.googleapis.com/customsearch/v1?key=INSERT-YOUR-KEY&cx=017576662512468239146:omuauf_lfve&q=lectures";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_USERAGENT, 'Opera/9.23 (Windows NT 5.1; U; en)');
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);

## Below two option will enable the HTTPS option.
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,  2);
$result = curl_exec($ch);
echo $result;
于 2012-02-23T22:58:57.700 回答
0

如果您自己无法修改配置,请与托管服务提供商联系。这很可能与 php 核心或启动中缺少 openssl 有关。

如果您为其他人这样做,并且您无法控制或与主机(“某些外部主机”)联系,请说明情况并帮助他们找到启用了相应功能的合适主机。

于 2012-02-23T23:09:46.907 回答