当对Guzzle和sendgrid使用DELETE curl方法时,返回错误的请求

卷材

我正在尝试使用sendgrid v3 API清除反弹,当在CLI中使用CURL时,它工作正常,这是以下命令:

curl -v -X DELETE -d '{"delete_all": true}' -H "Content-Type: application/json" -H "Authorization: Bearer SG.mykey" "https://api.sendgrid.com/v3/suppression/bounces"

但是,当尝试使用Symfony2 / Guzzle启动它时,出现了错误的请求错误,但是请求似乎还可以,这是输出(string) $request

"""
DELETE /v3/suppression/bounces HTTP/1.1\r\n
Host: api.sendgrid.com\r\n
Authorization: Bearer SG.mykey\r\n
User-Agent: Guzzle/3.9.3 curl/7.35.0 PHP/5.5.9-1ubuntu4.17\r\n
Accept: application/json\r\n
Content-Length: 20\r\n
\r\n
{"delete_all": true}
"""

和例外:

[Guzzle\Http\Exception\ClientErrorResponseException]   
Client error response                                  
[status code] 400                                      
[reason phrase] BAD REQUEST                            
[url] https://api.sendgrid.com/v3/suppression/bounces

使用GET方法时,它可以正常工作,并且会向我返回所有弹跳。

这是the的代码:

$request = $this->httpClient->delete('/v3/suppression/bounces', null, '{"delete_all": true}');
$response = $request->send();

http客户端是使用https://api.sendgrid.com基本URL初始化的服务

加文·洛夫(Gavin Love)

我认为您的问题是,当它只有两个时,您将发送3个要删除的参数,而您需要做的是在options数组中传递主体。

$response = $this->httpClient->delete(
        '/v3/suppression/bounces',
        [
            'body' => json_encode(['delete_all', true]),
            'Authorization' => 'Basic ' . base64_encode($username . ':' . $password),
            'content-type'  => 'application/json'
        ]
    );

耗材选项文档

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用cUrl请求svg.sencha.io时请求错误

来自分类Dev

为什么我在使用Guzzle进行多个请求时遇到cURL错误77?

来自分类Dev

使用CURL PHP发布请求返回错误400?静态错误的请求

来自分类Dev

春季-当对json使用DELETE返回错误请求

来自分类Dev

我使用 PUT 方法在 ajax 中的请求返回错误 500

来自分类Dev

使用wadeshuler / yii2-sendgrid发送sendgrid电子邮件时出现错误的请求错误

来自分类Dev

错误的请求检查“错误”以获取API返回的错误列表。在SendGrid

来自分类Dev

在 http 请求中使用 GET 方法时出现错误域

来自分类Dev

使用 Laravel 将 cURL 请求转换为 Guzzle 请求

来自分类Dev

eBay API,当我使用cURL发送xml时,VerifyAddItem返回错误

来自分类Dev

Symfony - 在 yml 注册时 Guzzle 返回错误

来自分类Dev

Axios HTTP DELETE请求返回415错误

来自分类Dev

在Jersey中使用POST方法时返回405错误

来自分类Dev

尝试使用任何方法时,Wikipedia API返回错误

来自分类Dev

使用多种方法时缺少返回语句错误

来自分类Dev

使用证书将Curl请求转换为Guzzle问题

来自分类Dev

POST请求的Java Servlet返回错误405(不允许使用方法)

来自分类Dev

编译错误:无法使用将CompetionStage作为请求的处理程序返回的方法

来自分类Dev

jqGrid,POST使用WCF和REST返回错误的请求

来自分类Dev

使用DotNetOpenAuth返回Amazon(400)错误请求

来自分类Dev

使用DotNetOpenAuth返回Amazon(400)错误请求

来自分类Dev

使用sendgrid发送邮件时凭据错误

来自分类Dev

使用SendGrid SMTP电子邮件提交的错误请求错误

来自分类Dev

使用 --form-params 和 --header 将 cURL 转换为 Guzzle POST

来自分类Dev

OAuth,PHP,Rest API和curl发出400错误请求

来自分类Dev

覆盖方法时无法更改返回类型,使用泛型时错误

来自分类Dev

覆盖方法时无法更改返回类型,使用泛型时错误

来自分类Dev

将cURL请求转换为Guzzle请求

来自分类Dev

在Laravel 5中使用Guzzle和Socialite向Google API发出请求

Related 相关文章

  1. 1

    使用cUrl请求svg.sencha.io时请求错误

  2. 2

    为什么我在使用Guzzle进行多个请求时遇到cURL错误77?

  3. 3

    使用CURL PHP发布请求返回错误400?静态错误的请求

  4. 4

    春季-当对json使用DELETE返回错误请求

  5. 5

    我使用 PUT 方法在 ajax 中的请求返回错误 500

  6. 6

    使用wadeshuler / yii2-sendgrid发送sendgrid电子邮件时出现错误的请求错误

  7. 7

    错误的请求检查“错误”以获取API返回的错误列表。在SendGrid

  8. 8

    在 http 请求中使用 GET 方法时出现错误域

  9. 9

    使用 Laravel 将 cURL 请求转换为 Guzzle 请求

  10. 10

    eBay API,当我使用cURL发送xml时,VerifyAddItem返回错误

  11. 11

    Symfony - 在 yml 注册时 Guzzle 返回错误

  12. 12

    Axios HTTP DELETE请求返回415错误

  13. 13

    在Jersey中使用POST方法时返回405错误

  14. 14

    尝试使用任何方法时,Wikipedia API返回错误

  15. 15

    使用多种方法时缺少返回语句错误

  16. 16

    使用证书将Curl请求转换为Guzzle问题

  17. 17

    POST请求的Java Servlet返回错误405(不允许使用方法)

  18. 18

    编译错误:无法使用将CompetionStage作为请求的处理程序返回的方法

  19. 19

    jqGrid,POST使用WCF和REST返回错误的请求

  20. 20

    使用DotNetOpenAuth返回Amazon(400)错误请求

  21. 21

    使用DotNetOpenAuth返回Amazon(400)错误请求

  22. 22

    使用sendgrid发送邮件时凭据错误

  23. 23

    使用SendGrid SMTP电子邮件提交的错误请求错误

  24. 24

    使用 --form-params 和 --header 将 cURL 转换为 Guzzle POST

  25. 25

    OAuth,PHP,Rest API和curl发出400错误请求

  26. 26

    覆盖方法时无法更改返回类型,使用泛型时错误

  27. 27

    覆盖方法时无法更改返回类型,使用泛型时错误

  28. 28

    将cURL请求转换为Guzzle请求

  29. 29

    在Laravel 5中使用Guzzle和Socialite向Google API发出请求

热门标签

归档