我们如何在pharo中实现curl post

我们如何在pharo中实现curl post,curl,smalltalk,pharo,pharo-5,Curl,Smalltalk,Pharo,Pharo 5,我要在pharo中实现curl post,但似乎没有太多关于如何实现的解释。 我看到的例子很少,但它们比我需要的要简单得多。 我想你会去法罗斯酒店吗 $ curl 'https://url_server' \ -X POST \ -H 'key: MY PASSWORD' \ -H 'Content-Type: application/json' \ -d \ '{ "HEADER": "FOO", "DESK": "POO", "FORWARDTO": "another_url"

我要在pharo中实现curl post,但似乎没有太多关于如何实现的解释。 我看到的例子很少,但它们比我需要的要简单得多。 我想你会去法罗斯酒店吗

$ curl 'https://url_server' \
-X POST \
-H 'key: MY PASSWORD' \
-H 'Content-Type: application/json' \
-d \
'{
  "HEADER": "FOO",
  "DESK": "POO",
  "FORWARDTO": "another_url"
}'
我知道这与使用Znclient发布类似:

 ZnClient new
    url: 'url_server';
    entity: (ZnEntity 
            with:'{"HEADER": "FOO", 
                   "DESK": "POO",
                   "FORWARDTO": "another_url"}'
            type: ZnMimeType applicationJson
            );
        post.

但是,使用这种语法的关键是什么?

似乎您正在寻找一种方法,为您的请求在ZINK中设置一个HTTP头字段

尝试
ZnClient

headerAt: key put: value
    "Set key equals value in the HTTP header of the current request"
然后,您的代码可能如下所示:

ZnClient新建
url:‘yourURL’;
headerAt:‘headerKey’写着:‘headerValue’;
实体:(ZnEntity)
使用:“{”yourJSON:“Content”}”
类型:ZnMimeType applicationJson);
邮递
锌还有一个很好的特性,它向您展示了一个与当前请求等效的curl命令行调用。所以你可以和你想象中的卷曲线做比较。只需打印:

ZnClient新建
url:‘yourURL’;
headerAt:‘headerKey’写着:‘headerValue’;
实体:(ZnEntity)
使用:“{”yourJSON:“Content”}”
类型:ZnMimeType applicationJson);
方法:#岗位;
卷曲

您将在中找到一个。

谢谢@MartinW。但我在这里使用ZnClient。我的语法错了吗?我应该像对url那样添加键值吗?ZINK是框架
ZnClient
所属的名称。因此锌的前缀是Zn:)我用你的例子扩展了答案。谢谢@MartinW这似乎更像我需要的。因此,关键应该在标题中亲爱的@MartinW,最后一个问题。在post完成后,如何检查服务器给出的Json响应,?