1

我有卷曲帖子要在 pharo 中实现,但似乎没有太多关于如何做到这一点的解释。我看到的例子很少,但它们比我需要的要简单得多。我会做那个客栈pharos吗?

$ 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.

但是,使用这种语法的关键在哪里?

4

1 回答 1

3

似乎您正在寻找在 Zinc 中为您的请求设置HTTP 标头字段的方法?

尝试ZnClient

headerAt: key put: value
    "Set key equals value in the HTTP header of the current request"

您的代码可能如下所示:

ZnClient new
    url: 'yourURL';
    headerAt: 'headerKey' put: 'headerValue'; 
    entity: (ZnEntity 
        with:'{"yourJSON": "Content"}'
        type: ZnMimeType applicationJson);
    post.

Zinc 还有一个很好的特性,它向你展示了一个相当于当前请求的 curl 命令行调用。因此,您可以与您想到的卷曲线进行比较。只需打印:

ZnClient new
    url: 'yourURL';
    headerAt: 'headerKey' put: 'headerValue'; 
    entity: (ZnEntity 
        with:'{"yourJSON": "Content"}'
        type: ZnMimeType applicationJson);
    method: #POST;
    curl.

您会在Enterprise Pharo book中找到使用 Zinc HTTP 作为客户端的好文档

于 2018-03-09T19:16:42.170 回答