【问题标题】:How to send HTTP POST requests using only Rebol3如何仅使用 Rebol3 发送 HTTP POST 请求
【发布时间】:2013-10-11 13:07:57
【问题描述】:

仅使用 Rebol3 发送 HTTP POST 请求和获取响应(例如 XML 格式)的最简单方法是什么?

在 Rebol2 中是否有类似使用 read/custom 的方法,就像在这个问题中所做的那样?

How to send an HTTP post with a custom header using REBOL

我应该从哪里下载我的 Rebol3 二进制文件?我没有找到很多关于这方面的文档......

【问题讨论】:

  • 我不知道答案,但有一次我发现,如果您在http:// 样式的 URL 上使用 WRITE,它会自动将其转换为您的 POST ......很酷。

标签: http post rebol rebol3


【解决方案1】:

Ports: Synchronous and Asynchronous Operations 上的文档显示了如何同时使用 GET 和 POST。总结一下:

默认行为是假定帖子数据应被视为application/x-www-form-urlencoded(如果你想将一块普通的 Rebol 数据编码成该格式,请参阅%altwebform.r

result: write http://www.rebol.com/cgi-bin/updata.r data 

如果你需要一个自定义标题,那么你需要传递一个块而不是传递一个字符串。从 WORD 开始! post 后面是 Rebol 格式的键/值对块,然后是您的数据:

result: write http://www.rebol.com/cgi-bin/updata.r compose [
    post [
        Content-type: "text/x-rebol"
        ;-- other fields here
    ]
    (data)
]

结果将是二进制的!并且可以转换为字符串!解析出任何 XML 或其他内容。

我应该从哪里下载我的 Rebol3 二进制文件?

你应该从http://www.rebolsource.net/下载二进制文件

【讨论】:

  • 非常感谢,格雷厄姆。在办公室使用真正的 SOAP Web 服务进行测试。太简单了!
  • 这也适用于 Rebol 2 read/custom url compose [post (d) [Content-Type: "text/xml" ] ] 请注意 read/custom url compose [post (d) header [Content-Type: "text/xml" ] ] 不起作用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-14
相关资源
最近更新 更多