如何使用邮递员激发cURL请求到请求

沙姆里

我正在使用以下cURL请求到运行正常的localhost:

curl -u admin:e4d4face52f2e3dc22b43b2145ed7c58ce66e26b384d73592c -d "{\"jsonrpc\": \"2.0\", \"method\": \"feed.list\", \"id\": 1}" http://localhost/minifluxR/jsonrpc.php

但是,当我使用Postman而不是cURL发送相同的请求时,我得到了:

{"jsonrpc":"2.0","id":null,"error":{"code":-32700,"message":"Parse error"}}

在邮递员中,我使用了一个GET请求并将以下内容作为标题发送:

url:http://localhost/minifluxR/jsonrpc.php
username:admin
api_token:e4d4face52f2e3dc22b43b2145ed7c58ce66e26b384d73592c
method: feed.list

以下是我尝试触发的PHP函数:

$server = new Server;

$server->authentication(array(
    \Model\Config\get('username') => \Model\Config\get('api_token')
));

// Get all feeds
$server->register('feed.list', function () {
    return Model\Feed\get_all();
});

请帮助我纠正这些错误。

幽灵般的

使用cURL时,-u 选项(或--user)用于提供HTTP Basic身份验证的凭据这会将Authorization标头设置为包含必要的数据,以便与服务器进行身份验证。

这些步骤适用于Postman的打包应用程序对于传统应用程序的步骤,查看这个修订的这个答案。

要像在cURL命令中一样使用HTTP Basic身份验证,请单击Authorization选项卡并输入凭据。单击Update Request将为您添加必要的Authorization标题。


邮递员的“授权”选项卡


邮递员的标题标签


要以与使用cURL相同的方式提交JSON数据,请使用POST请求,rawBody标签选择,然后输入数据,如下所示:


邮递员的身体标签


为了调试它,我使用了Fiddler-一个免费的Web调试代理。

我使用了cURL的--proxy选项,使其通过Fiddler发送其请求,如下所示:

curl \
--proxy http://localhost:8888 \
-u foo:bar \
-d "{\"jsonrpc\": \"2.0\", \"method\": \"feed.list\", \"id\": 1}" \
http://localhost

现在,请求已通过Fiddler,我可以从会话列表中选择它,然后使用“原始”检查器查看原始请求:


提琴手的“原始”检查员


这表明cURL正在POST使用HTTP Basic身份验证和application/x-www-form-urlencoded内容发出请求这种类型的数据通常由键和值组成,例如foo=bar&hoge=fuga但是,此cURL请求正在提交没有值的密钥。呼叫var_dump($_POST)将产生以下结果:


var_dump输出


=数据的末尾带有a (例如:){"jsonrpc": "2.0", "method": "feed.list", "id": 1}=var_dump将产生以下结果:


var_dump输出


但是,看来JsonRPC将file_get_contents('php://input')在您的情况下使用这将返回与请求一起提交=的数据,如果数据以请求结尾,则包括。因为它将尝试将输入数据解析为JSON字符串,所以如果字符串以结束,它将失败=,因为那将是无效的JSON。

使用适用于ChromeFoxyProxy扩展,我为Fiddler(127.0.0.1:8888创建了代理配置,使我能够轻松调试PostmanPOST请求发送的数据与无值x-www-form-urlencoded的键foo一起使用,发送的数据实际上是foo=,这将导致您的JSON字符串无效。

但是,使用“原始”输入将允许发送指定的数据而无需将=其添加到其末尾,从而确保数据是有效的JSON。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用邮递员请求受设备保护的API?

来自分类Dev

如何使用 AWS Lambda 向邮递员 POST 请求

来自分类Dev

使用邮递员发出“ _doPostBack”请求

来自分类Dev

REST邮递员请求

来自分类Dev

邮递员对Alamofire的请求

来自分类Dev

将请求从 cURL 转换为邮递员

来自分类Dev

邮递员:如何多次重新运行邮递员请求的子集

来自分类Dev

如何将邮递员用于Laravel $ _POST请求

来自分类Dev

如何链接这两个邮递员的请求

来自分类Dev

如何使用邮递员将特定请求导出到文件?

来自分类Dev

在邮递员预请求脚本中,如何读取使用变量的标头的实际值

来自分类Dev

邮递员对Binance API的GET请求

来自分类Dev

来自邮递员的Cloud Firestore请求

来自分类Dev

执行给定次数的请求(邮递员)

来自分类Dev

如何在脚本请求中为邮递员请求添加请求参数

来自分类Dev

如何使用邮递员

来自分类Dev

如何写在邮递员形式数据请求的等效原始请求?

来自分类Dev

邮递员、curl 和 wget 工作时无法通过 python 请求获取 cookie

来自分类Dev

如何使用邮递员休息客户端将邮寄请求发送到以下邮寄方法

来自分类Dev

从邮递员4.2.2到localhost中的ouchdb的POST请求不返回cookie

来自分类Dev

如何查看邮递员中的“发送请求时计算”标题

来自分类Dev

如何为邮递员请求生成将来的日期和时间

来自分类Dev

如何将此邮递员请求转换为iOs代码

来自分类Dev

如何通过邮递员在POST请求中发送嵌套的json

来自分类Dev

邮递员从请求中获取内容长度

来自分类Dev

向Tensorflow Serving邮递员请求预测REST API

来自分类Dev

邮递员似乎在预请求中忽略了我的POST

来自分类Dev

从发帖请求中收到404错误:邮递员

来自分类Dev

未定义邮递员的请求前脚本URL

Related 相关文章

  1. 1

    如何使用邮递员请求受设备保护的API?

  2. 2

    如何使用 AWS Lambda 向邮递员 POST 请求

  3. 3

    使用邮递员发出“ _doPostBack”请求

  4. 4

    REST邮递员请求

  5. 5

    邮递员对Alamofire的请求

  6. 6

    将请求从 cURL 转换为邮递员

  7. 7

    邮递员:如何多次重新运行邮递员请求的子集

  8. 8

    如何将邮递员用于Laravel $ _POST请求

  9. 9

    如何链接这两个邮递员的请求

  10. 10

    如何使用邮递员将特定请求导出到文件?

  11. 11

    在邮递员预请求脚本中,如何读取使用变量的标头的实际值

  12. 12

    邮递员对Binance API的GET请求

  13. 13

    来自邮递员的Cloud Firestore请求

  14. 14

    执行给定次数的请求(邮递员)

  15. 15

    如何在脚本请求中为邮递员请求添加请求参数

  16. 16

    如何使用邮递员

  17. 17

    如何写在邮递员形式数据请求的等效原始请求?

  18. 18

    邮递员、curl 和 wget 工作时无法通过 python 请求获取 cookie

  19. 19

    如何使用邮递员休息客户端将邮寄请求发送到以下邮寄方法

  20. 20

    从邮递员4.2.2到localhost中的ouchdb的POST请求不返回cookie

  21. 21

    如何查看邮递员中的“发送请求时计算”标题

  22. 22

    如何为邮递员请求生成将来的日期和时间

  23. 23

    如何将此邮递员请求转换为iOs代码

  24. 24

    如何通过邮递员在POST请求中发送嵌套的json

  25. 25

    邮递员从请求中获取内容长度

  26. 26

    向Tensorflow Serving邮递员请求预测REST API

  27. 27

    邮递员似乎在预请求中忽略了我的POST

  28. 28

    从发帖请求中收到404错误:邮递员

  29. 29

    未定义邮递员的请求前脚本URL

热门标签

归档