【问题标题】:How to make Https Requests in PHP如何在 PHP 中发出 Https 请求
【发布时间】:2012-12-14 01:52:58
【问题描述】:

我仍然对 PHP 不是很满意,而且对 Json 完全陌生。我想做的是检查特定的 Twitch.tv 直播是否在线,我也想吸引观众。 Twitch.tv 有自己的 API (https://github.com/justintv/Twitch-API/wiki/API),这应该是可能的。这是我的第一种方法:

// Twitch Streams
else if($typ == 't') {
    $api    = file_get_contents("https://api.twitch.tv/kraken/streams/".$stream_id);
    $json   = json_decode($api);
    if($json->stream != null) {
        return true;    
    }
    else {
        return false;   
    }
}

问题是 file_get_contents 似乎不理解 https,它声称没有安装包装器。问题是API不支持正常的http请求,所以我想我必须使用另一个函数。有人可以建议我一个不同的(不太难使用)功能。我已经阅读了 curl 和 fsocket,但它们对我来说似乎有点难以使用。

【问题讨论】:

标签: php json https


【解决方案1】:

https:// 可能未启用。这篇文章可能会帮助您找出原因:How to get file_get_contents() to work with HTTPS?。没有理由必须使用 cURL,但 cURL 通常更灵活,所以如果您能够理解它的工作原理,我建议您改用它。

【讨论】:

  • 它们中的任何一个都不适合我。我启用了 php_openssl.dll 并在 php.ini 中写了 allow_url_include = On 。还是同样的错误。卷曲对我也不起作用:PHP Startup: Unable to load dynamic library 'c:/wamp/bin/php/php5.3.13/ext/php_curl.dll' - The application has failed to start because its side-by-side configuration is incorrect. 是否有另一种(不那么错误)方法可以做到这一点?
  • 确实如此。摆脱 WAMP;它的标准配置很糟糕,这可能会导致您的错误。如果您手动安装 Apache/PHP,它可能会更容易使用。 PHP 安装程序还可以为您配置 cURL 和其他扩展,这样您就不会自己搞砸了。 =) 旁注:加载 cURL 时导致此确切错误的原因可能是文件系统中放错位置的 .dll 或错误的读取/执行权限。
  • 感谢我已经让 ssl 工作的建议,我必须在 apache 文件夹中的 php.ini 中启用扩展才能使其运行。到目前为止,我实际上很喜欢 Wamp,我认为它至少比 Xamp 好很多。
【解决方案2】:

PHP Curl 应该能够帮助解决这个问题。

以下链接说明了如何获取 http 代码: http://php.net/manual/en/function.curl-getinfo.php

【讨论】:

  • 所以我现在尝试使用Curl ...首先出现以下错误Fatal error: Call to undefined function curl_init()谷歌搜索了一下我发现,对于我的版本,我必须取消我在php.ini中的curl扩展名确实,比以下错误:PHP Startup: Unable to load dynamic library 'c:/wamp/bin/php/php5.3.13/ext/php_curl.dll' - The application has failed to start because its side-by-side configuration is incorrect. 我发现这是 wamp 的一个问题,并在anindya.com 上找到了一个修复程序,这使得我的 php 不再工作了。 SO FU卷曲!!!
  • 大声笑,这不是 cURL 的错,您的环境没有配置为使用它。我是 Zend Server 的粉丝,因为它使管理环境变得更加容易。
猜你喜欢
  • 2011-08-17
  • 2012-04-21
  • 2011-05-12
  • 2018-07-16
  • 1970-01-01
  • 2013-12-09
  • 2011-06-13
  • 2023-03-22
  • 1970-01-01
相关资源
最近更新 更多