请教下 guzzle 的 post 请求的正确姿势?我这感觉没啥问题啊

$client = new \GuzzleHttp\Client();
$response = $client->request(‘POST’,$this->url,$apiReqData);

$this->url
这是个https的请求

$apiReqData
这是个数组

这样不对么?

GuzzleHttp\Exception\ClientException: Client error: POST https://acc-test.ipaynow.cn resulted in a 400 Bad Request response:
{“timestamp”:”2020-07-08T02:22:23.548+0000”,”status”:400,”error”:”Bad Request”,”message”:”Required request body is missi (truncated…)

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 6

这个目标网站的问题,你处理好报错就行

3年前 评论

普通表单提交

$response = $client->request('POST', 'http://httpbin.org/post', [
    'form_params' => [
        'field_name' => 'abc',
        'other_field' => '123',
        'nested_field' => [
            'nested' => 'hello'
        ]
    ]
]);

json 提交

$r = $client->request('PUT', 'http://httpbin.org/put', [
    'json' => ['foo' => 'bar']
]);

文档 docs.guzzlephp.org/en/stable/quicks...

3年前 评论

@大毛 你好,普通的键必须是form_params么?还是说后边传的只要是数组就可以,没有别的限定

3年前 评论
没前途的程序员 3年前
ruke

这几个参数是和 content-type 相关的, 仔细看文档就知道了

3年前 评论

请求的目标网站报错了,Guzzle 会抛出异常。

$client = new \GuzzleHttp\Client(['http_errors'=> false]);
$response = $client->request('POST',$this->url,$apiReqData);

这样,Guzzle 就不会排除异常,而是返回请求的结果,包括报错。

3年前 评论

file 目标网站报错,处理异常就好了

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!