使用Laravel 7.6和它内置的HTTP客户端。我试图发送一个简单的POST请求与body在原始JSON格式到我的其他域,但没有运气:
body
$response = Http::post('https://example.com', [ 'body' => '{ test: 1 }' ]);
字符串我得到400错误请求-客户端错误-因为我的服务器期望body作为强制性的。我错过了什么?
kmbjn2e31#
$response = Http:post('http://example.com/', [ 'foo' => 'bar' ]);
字符串或者这个
$response = Http::withHeaders([ 'User-Agent' => 'Some Agent', ])->asForm()->post('http://www.example.com/', [ 'foo' => 'bar', ]);
型
sf6xfgos2#
试试这个,在我的情况下,这应该工作。
$response = Http::withHeaders(['Content-Type' => 'application/json']) ->send('POST', 'https://example.com', [ 'body' => '{ test: 1 }' ])->json();
字符串
bgtovc5b3#
我也有同样的场景:我有一个JSON字符串,我想发送到一个端点。为了完成这一点,我只是转换字符串使用:
$dataArray = json_decode( { "test": "1" }, true );
字符串然后,我这样调用->post():
)->post( env('APP_URL') . '/api/webhook', $dataArray );
型这样,它只发送JSON字符串,而不添加任何根元素。
3条答案
按热度按时间kmbjn2e31#
字符串
或者这个
型
sf6xfgos2#
试试这个,在我的情况下,这应该工作。
字符串
bgtovc5b3#
我也有同样的场景:我有一个JSON字符串,我想发送到一个端点。
为了完成这一点,我只是转换字符串使用:
字符串
然后,我这样调用->post():
型
这样,它只发送JSON字符串,而不添加任何根元素。