2011-04-28 32 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

相關問題