如何解决如何让 GuzzleHttp 客户端正确发送 POST 请求?
根据 GuzzleHttp/Guzzle v7 (https://docs.guzzlephp.org/en/stable/quickstart.html#sending-form-fields) 的文档,应该可以选择使用这两个函数向 URL(例如 http://localhost/form.PHP)发送常规 POST 请求...
所以我的 form.PHP
看起来像这样:
<?PHP
var_dump([
'REQUEST' => $_REQUEST,'GET' => $_GET,'POST' => $_POST,]);
还有这样的 Guzzle-Code:
<?PHP
require __DIR__ . '/vendor/autoload.PHP';
use GuzzleHttp\Client;
$client = new GuzzleHttp\Client([
'base_uri' => 'http://localhost',]);
$r1 = $client->post( '/form.PHP',[
'json' => [
'lorem' => 'ipsum',]
]);
echo $r1->getBody()->getContents() . "\n\n============\n\n";
$r2 = $client->request( 'POST','/form.PHP',]
]);
echo $r2->getBody()->getContents();
array(3) {
["REQUEST"]=>
array(0) {
}
["GET"]=>
array(0) {
}
["POST"]=>
array(0) {
}
}
============
array(3) {
["REQUEST"]=>
array(0) {
}
["GET"]=>
array(0) {
}
["POST"]=>
array(0) {
}
}
我错过了什么/搞砸了什么? ...
浏览器中对 http://localhost/form.PHP?asdf
的请求导致(正确的)响应:
array(3) {
["REQUEST"]=>
array(1) {
["asdf"]=>
string(0) ""
}
["GET"]=>
array(1) {
["asdf"]=>
string(0) ""
}
["POST"]=>
array(0) {
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。