首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rebol2的阅读/自定义文档?

Rebol2的阅读/自定义文档?
EN

Stack Overflow用户
提问于 2016-12-08 19:34:02
回答 1查看 76关注 0票数 1

我一直试图更新Ross的用于REBOL2的Twitter,以支持上传媒体.从它的来源、REBOL烹饪书、协同解构网站和其他问题来看,我的理解是read/custom是获取POST数据的首选方式。

但是,我还没有在read/custom上找到任何真正的文档。例如:它支持发送multipart/form-data吗?(我已经通过手工编写每个部分来解决这个问题,但它似乎并不适用于Twitter端的所有图像文件,而且有点麻烦)。read/custom是否只返回HTTP/1.0 200 OK响应的文本?(看起来是这样的,当我接收到HTTP/1.0 202 Accepted并需要读取结果数据时,这是有问题的)。如果没有使用read/custom/binary转换数据,那么to-string似乎无法正确发送二进制数据,这是否有原因?

博士:关于REBOL2 2的read/custom有什么好的文档吗?或者,read/custom只用于基本的POST,我应该使用端口并手动处理POST响应吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-09 03:53:30

您猜对了,read/custom用于简单的HTTP,只处理web数据(这就是为什么它将在二进制数据上失败)。没有官方文件。但这不是一个问题,因为您可以访问HTTP实现的源代码:

代码语言:javascript
复制
probe system/schemes/HTTP

在这里可以看到,/custom精化支持两个关键字,postheader (用于设置自定义headers)。而且,即使您同时使用这两个关键字,无论如何Content-Type也会被迫使用application/x-www-form-urlencoded (这可能是您的二进制数据被服务器拒绝的原因,因为提供的mime类型是错误的)。

为了解决这个问题,您可以保存HTTP对象,修改它的实现以满足您的需要并重新加载它。

保留:

代码语言:javascript
复制
save %http-scheme.r system/schemes/HTTP

重装:

代码语言:javascript
复制
system/schemes/HTTP: do load %http-scheme.r

如果您只是在HTTP代码中禁用硬编码的Content-Type设置,然后使用header关键字提供自己的设置,那么即使使用二进制数据,它也应该工作得很好:

代码语言:javascript
复制
read/custom <url> [header [Content-Type: <...>] post <data>]

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41047417

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档