【问题标题】:POST requests using HTTR使用 HTTR 的 POST 请求
【发布时间】:2019-08-21 03:30:11
【问题描述】:

我正在努力编写与以下 curl 命令等效的 httr:POST 语句(实际的 client_id 和 client_secret 被虚拟字符串替换):

curl -i -X POST -H "ContentType: x-www-form-urlencoded" -d 
"grant_type=client_credentials&client_id=XXXXXXXX&client_secret=XXXXXXXX" 
"https://api.beta.tab.com.au/oauth/token"

我尝试了以下似乎不起作用的方法:

POST("https://api.beta.tab.com.au/oauth/token",
  add_headers('Content-Type'='application/json'),
  body = list(grant_type = "client_credentials",
  client_id = "XXXXXXXX",
  client_secret = "XXXXXXXX"),
  encode = "json")

我希望得到的状态码是 200,但事实并非如此......

【问题讨论】:

    标签: r


    【解决方案1】:

    我假设您上面的curl 命令正在运行。在查看curl -dhere的定义时,可以看到数据是使用content-type application/x-www-form-urlencoded传递给服务器的。但是,您正在使用 json 编码构建您的 post 命令。换句话说,您在 POST 正文中发送的格式不同,我假设这是您的问题,因为您的服务器可能期望 form urlencoded 中的数据而不是 json。您应该检查此quickstart 并尝试在交互式会话中运行您的命令,并设置详细标志以查看发送到服务器的内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多