【问题标题】:Post JSON Data to API with credentials PHP 4使用凭据 PHP 4 将 JSON 数据发布到 API
【发布时间】:2017-01-19 21:38:12
【问题描述】:

我有一个问题,我需要一些帮助。我有 PHP 版本 4.4.7,我想在使用 MVC 模式和 json 数据的 API 中发布数据。我尝试使用get_file_contents 方法,但出现 405 错误。

我想在下面的链接中传递三个变量

http:...../api/create_customer?x=test&y=test1&y=test3

create_customer 是我必须调用和传递属性的方法。 这个版本的 PHP 支持什么来连接凭证并将数据发布到 API。升级版本的可能性是不可能的,所以我必须在当前版本中找到一种方法。

【问题讨论】:

  • PHP 4 支持在 8 年前结束。您应该认真考虑更新您的 PHP 版本。
  • 您能否更具体地说明您实际调用 API 的方式。发布您进行调用的代码部分。
  • 也许你正在发布数据,尝试 PUTing 数据。
  • File_get_contents('username:password@test.com/api/…')

标签: php json api restful-authentication php4


【解决方案1】:

你可以使用 curl。 示例如下:

$content = json_encode($content);

$credentials = $userName 。 ':' 。 $密码;

    $options = array(
        CURLOPT_RETURNTRANSFER => 1,
        CURLOPT_SSL_VERIFYHOST => 2,
        CURLOPT_SSL_VERIFYPEER => 0,
        CURLOPT_USERPWD => $credentials,
        CURLOPT_HTTPHEADER => array('Content-type: application/json') ,
        CURLOPT_POSTFIELDS => $content,
        //Debug
        //CURLOPT_VERBOSE => 1
    );

    $ch = curl_init($url);

    curl_setopt_array($ch, $options);

    $result = curl_exec($ch);

【讨论】:

  • curl 没有添加到库中我将如何使用它,它说 curl init 无法识别
  • 通过 php.inI 启用 CURL 找到您的 PHP.ini 文件。 (通常位于您的 apache 安装的 bin 文件夹中,例如在记事本中打开 PHP.ini。搜索或找到以下内容:';extension=php_curl.dll' 通过删除分号 ';' 取消注释。保存并关闭 PHP.ini。重新启动 Apache。
猜你喜欢
  • 2016-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-09
  • 1970-01-01
  • 2015-05-27
  • 2021-12-16
  • 1970-01-01
相关资源
最近更新 更多