2011-04-28 63 views
2

我正在尝试在Rebol中重写C#应用程序,以查看第一手可实现的产品级别。Rebol能做到这一点吗?

我很好奇,想知道以前我在头跳到第一是否:分析函数

  • 能做到的一切,正则表达式可以

  • 这是可能的模仿HTTP(实际上,HTTPS)会议使用端口!
    (这里的任何例子将是很好的,因为我似乎无法找到任何)

  • 有任何方言可用于解析平面文件
    (包括CSV,TSV,固定长度的文件)

  • 有功能从HTML文件
    (或只是填充现有PDF格式)

由于生成PDF!

编辑:

关于问题#2,请允许我改一下,其实我是想能够保持HTTP请求(实际上,一个POST [张贴凭证到登录页面],接着之间饼干许多GET在POSTing后重新发送cookie)。

我使用curl会猜相当于:

curl [url] -d [data] -c [file] 
curl [url] -b [file] 

我想我的问题是,我不知道还如何充分利用(读http://www.rebol.net/docs/prot-http.html)我看到一个cookie一个全成后的HTTP方案当我这样做后:

p: open http://localhost/test.php 
write p "name=foo" 
probe p/state/info/headers 

但接下来呢?我如何重新发送这个cookie以及下一个请求。

+2

在未来,你可能想,当他们跨越主题领域跨越这样的发布几种不同的问题! – HostileFork 2011-04-28 19:37:56

回答

3

解析函数可以执行RegEx可以执行的所有操作吗?

Rebol的PARSE是“自顶向下解析语言(TDPL)”的家族。它应该比RegEx或LL解析器严格得多。 (A:是的)

是否有可能使用端口来模仿HTTP(实际上是HTTPS)会话!有关可能/不可能的细节,请参阅我对问题的回答"Can you create PARSE rules for CSS2/CSS3 in Rebol"

你可以写完整的Web服务器中雷博尔 - 由夏延为证明......你可以browse its source code online。如果你想要一个更简单的例子,请查看Tiny Web Server Sample

关于"session management"通过cookie的具体问题,它没有非常好的文件记录如何做到这一点...和更好或更坏我不使用Rebol 2.我的看法是,这是一个领域你将不得不感受版本之间的变化。

FWIW,此代码为我工作在一个小剧本我雷博尔3写道,用于饼干:

 
    system/schemes/http/spec/headers: compose [ 
     cookie: (session_cookie) 
     referer: (to-string urlForEdit) 
     content-type: {application/x-www-form-urlencoded} 
     user-agent: {Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3} 
     cache-control: {no-cache} 
    ] 

    either true [ 
     system/schemes/http/spec/method: 'post 
     system/schemes/http/spec/content: payloadString 
     htmlResponse: to-string read postUrl 
    ] [ 
     # this seems to be equivalent to the other branch... 
     # if the target of your WRITE is of type URL! then it 
     # automatically sets spec/method and http/spec/content 

     htmlResponse: to-string write postUrl payloadString 
    ] 

是否有方言可供解析平面文件?

我不知道除PARSE以外的任何已发表的方言,通常用于get things like CSV into Rebol formats。然后该程序将数据作为Rebol进行操作。一个不幸的是PARSE doesn't run on PORT!所以如果你的文件很大,你可能不得不实现你自己的缓冲解决方案。

是否有函数从HTML文件生成PDF?

从HTML生成PDF或填写表单听起来像是一种交钥匙的事情,你可能想调用一个外部维护的工具。但由加布里埃尔桑蒂利一个项目,在那里它从雷博尔PDF方言产生合法的PDF文件:

http://web.tiscalinet.it/rebol/pdf-maker.r

有什么好玩的是它用的是库本身做出的库is a PDF file的文档。如果您想查看用于创建它的代码,您可以与生成的结果并排查看!

http://web.tiscalinet.it/rebol/pdf-maker-doc.r

+0

这真的有帮助!谢谢你的答案敌对叉!你博客的粉丝! – Rebnoob 2011-04-28 20:07:08

+0

更新了RE:会议。并感谢Rebnoob ......我一直在进行重大的搬迁工作,所以博客已经走到了一边。但是我快完成了...所以我希望能够回到做一些娱乐节目并尽快写出来。 – HostileFork 2011-04-28 20:46:21

+0

哇!这就是(cookie处理代码)正是我所期待的!感谢百万HostileFork! – Rebnoob 2011-04-29 14:50:57