【问题标题】:How to call API using curl in php如何在php中使用curl调用API
【发布时间】:2014-05-02 11:10:14
【问题描述】:

我使用 laravel 开发了一些 API,并在我的本地机器上创建了一个虚拟主机。 像 abc.xyz.com/api/v1/oauth2/token 用于获取 oauth 令牌。现在我想测试这些 API
从另一个本地应用程序说 abc.com 使用 curl。

我没有得到任何响应。我该怎么做?这两个应用程序都在我的本地计算机中。

【问题讨论】:

  • 可能会显示一些代码,然后我们可以查看您的代码并告诉您您的代码有什么问题或更好的解决方案是什么。也许是一个提示,使用Guzzle
  • 我总是先用 Postman 休息客户端进行测试。
  • $requestData = array( 'client_id' => 'test123', 'client_secret' => 'bPuD40fvL6eibi11i5iUH9T9jMR89p01', '用户名' => 'abc@example.com', '密码' => ' somepassword', 'grant' => 'pass', ); $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_RETURNTRANSFER => 1, CURLOPT_URL => 'abc.example.com/api/v1/oauth2/token', CURLOPT_USERAGENT => 'OAuth 令牌授予请求', CURLOPT_POST => 1, CURLOPT_POSTFIELDS => $requestData, CURLOPT_SSL_VERIFYPEER=>false, CURLOPT_OST_VERIFYH错误的 )); $resp = curl_exec($curl); curl_close($curl);

标签: php curl laravel laravel-4


【解决方案1】:

Curl 会给你做很多事情带来很多麻烦,使用 Guzzle 来消费你的 API。很简单,一切都搞定了,而且很有效:

安装

composer require "guzzlehttp/guzzle" "~4.0"

创建客户端:

$client = new \GuzzleHttp\Client();

获取结果:

$response = $client->get('http://abc.example.com/api/v1/oauth2/token');

dd($response->getBody());

项目:https://github.com/guzzle/guzzle

【讨论】:

    【解决方案2】:

    我自己得到了我的问题的答案。实际上我忘了在 URL 末尾添加 / ,为什么没有给出任何响应。

    感谢大家的帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-15
      • 1970-01-01
      • 1970-01-01
      • 2018-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-13
      相关资源
      最近更新 更多