Guzzlehttp请求方法在从Artisan命令调用控制器时发送后更改



我遇到了一个奇怪的问题->我已经设置了一个控制器,可以使用GuzzleHttp向另一个应用程序发送POST请求——当这个请求从VueJs客户端启动时,它可以很好地工作。

现在,我正在开发一个Artisan命令(根据客户的请求(,以简化调用该端点50多次(因为它生成视频(->为了调用这个端点,我在调用内部控制器时使用了以下代码段:

$request = Request::create(
route('videos.new', [], false),
'POST',
[
// Some daata
]
);
$response = app()->handle($request);
$result = json_decode($response->getContent());

但问题是,现在控制器中完全相同的代码向另一个应用程序发送GET请求,而不是POST,我不明白为什么,因为其中的方法是硬编码的。我知道这是一个GET请求,因为我正在记录目前进入另一个应用程序的所有请求,url等看起来都是正确的,只是现在是GET请求

请求发送方式:

$cdnReq = new GuzzleHttpPsr7Request(
'POST',
"/generate/$type?" . http_build_query($query),
[
'Content-Type' => 'application/json'
],
json_encode($input)
);
$this->beforeRequest($cdnReq);
// Step 03: Send request to cdn
Log::debug("Request(" . $cdnReq->getMethod() . ") will be send to: " . $client->getConfig('base_uri') . $cdnReq->getUri(), $input);
$cdnRes = $client->send($cdnReq);

有人知道为什么会发生这种事吗?

信息:Laravel版本:Laravel/Framework 6.18.32

该问题与URL被调用为HTTP并重定向到HTTPS有关,这将POST更改为GET。

最新更新