我正在努力在Laravel中发出此cURL请求
curl -d '{"key1":"value1", "key2":"value2"}' -H "Content-Type: application/json" -X GET http://my.domain.com/test.php
我一直在尝试这个:
$endpoint = "http://my.domain.com/test.php";
$client = new \GuzzleHttp\Client();
$response = $client->post($endpoint, [
GuzzleHttp\RequestOptions::JSON => ['key1' => $id, 'key2' => 'Test'],
]);
$statusCode = $response->getStatusCode();
但我收到错误Class 'App\Http\Controllers\GuzzleHttp\RequestOptions' not found
有什么建议吗?
编辑
我需要从$response
中的API获取响应,然后将其存储在DB中......我如何才能做到这一点?:/
6条答案
按热度按时间c0vxltue1#
给予Guzzle中的query-option:
我使用这个选项来构建我的get-requests和guzzle。结合json_decode($json_values,true),你可以把json转换成php数组。
ct2axkht2#
如果您在使用guzzlehttp:
原生Php方式
有时这个解决方案仍然比使用Laravel框架中附带的库更好和更简单。但仍然是你的选择,因为你掌握着你的项目的开发。
3df52oht3#
使用此代码作为参考。我已经成功地使用此代码进行了curl GET请求
izkcnapc4#
您忘记在名称空间前添加\。
您应该填写:
而不是:
gkl3eglg5#
我相信,自从Laravel 7以来,Laravel就有了一个HTTP客户端,这是一个Guzzle HTTP的 Package 器。
这是令人惊讶的,而且更干净,更容易测试,here's the documentation
wvt8vs2t6#
使用Laravel,你可以写这样的东西在你的路线文件,如果你正在使用WP,你觉得冒险,不想使用狂饮或Laravel cURL包.