我试图从我这样的服务器发送JSON请求:
public function subscribe() {
$arrData = array(
'name' => $name,
'user_id' => $user_id,
'merchant_reference' => $merchant_reference
);
$ch = curl_init(env('MY_API'));
# Setup request to send json via POST.
$data = json_encode($arrData);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
# Return response instead of printing.
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
# Send request.
$result = curl_exec($ch);
curl_close($ch);
}
当我从浏览器调用此函数时,我收到错误415
,
但是,当我从Postman调用它时,它的工作正常,并返回正确的响应。
有什么想法吗?
答案 0 :(得分:1)
问题就像@devpro在我的本地服务器中说的那样,似乎我需要在本地服务器中更改一些配置以允许发送JSON请求
答案 1 :(得分:0)
我认为你不会将$ arrData传递给订阅函数
答案 2 :(得分:0)
您忘了设置选项
curl_setopt($ch, CURLOPT_POST, true);
也始终可以使用任何自己的TCP侦听器调试查询,例如netcat
UPD: 发送请求后,请检查响应状态代码:
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);