2

達成可能な生産性のレベルを直接確認するために、Rebol で C# アプリケーションを書き直そうとしています。

最初に頭に浮かぶ前に、次のことを知りたいと思っていました。

  • parse 関数は Regex ができるすべてのことを行うことができます

  • ポートを使用して HTTP (実際には HTTPS) セッションを模倣することが可能です!
    (私は何も見つけることができないように見えるので、ここにどんな例でもいいでしょう)

  • フラット ファイル
    (CSV、TSV、固定長ファイルを含む) の解析に使用できる方言があります。

  • HTML ファイルから PDF を生成する
    (または単に既存の PDF フォームに入力する) 関数があります。

ありがとう!

編集:

質問 2 について、言い換えさせてください。実際には、HTTP リクエスト間で Cookie を維持できるようにしたいと考えています (実際には、POST [ログイン ページへの資格情報の投稿] の後に、POST 後に受信した Cookie を再送信する多数の GET が続きます)。

curl を使用した同等のものは次のようになると思います。

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

私の問題は、HTTP スキーム ( http://www.rebol.net/docs/prot-http.htmlを読む)を完全に使用する方法がまだわからないことだと思います。これ:

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

しかし、次は何ですか?次のリクエストでこの Cookie を再送信するにはどうすればよいですか。

4

1 に答える 1

3

parse 関数は RegEx でできるすべてのことを実行できますか?

Rebol の PARSE は、「トップダウン構文解析言語 (TDPL)」のファミリーに属します。RegEx や LL パーサーよりも厳密に強力である必要があります。可能/不可能の内訳については、「Rebol で CSS2/CSS3 の PARSE ルールを作成できますか」という質問に対する私の回答を参照してください(A: はい)

ポートを使用して HTTP (実際には HTTPS) セッションを模倣することは可能ですか?

Cheyenne で実証されているように、Rebol で完全な Web サーバーを作成でき、そのソース コードをオンラインで参照できます。はるかに単純な例が必要な場合は、Tiny Web Server Sampleを確認してください。

Cookie を介した「セッション管理」の特定の問題に関しては、これを行う方法が十分に文書化されているわけではありません...そして、良くも悪くも、私は Rebol 2 を使用していません。バージョン間の変更を感じる必要があります。

FWIW、このコードは、Cookie を使用する Rebol 3 で書いた小さなスクリプトで機能していました。

    system/schemes/http/spec/headers: 作成 [
        クッキー: (session_cookie)
        リファラー: (to-string urlForEdit)
        コンテンツ タイプ: {application/x-www-form-urlencoded}
        ユーザーエージェント: {Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3}
        キャッシュ制御: {no-cache}
    ]

    どちらか真 [
        system/schemes/http/spec/method: 'post
        システム/スキーム/http/仕様/コンテンツ: ペイロード文字列
        htmlResponse: to-string read postUrl
    ] [
        # これは他のブランチと同等のようです...
        # WRITE のターゲットが URL 型の場合! それから
        # spec/method と http/spec/content を自動設定

        htmlResponse: to-string write postUrl ペイロード文字列
    ]

フラットファイルの解析に使用できるダイアレクトはありますか?

CSV などを Rebol 形式にするために通常使用される PARSE 以外の公開された方言については知りません。次に、プログラムはデータを Rebol として操作します。残念なことに、PARSE は PORT では実行されません。そのため、ファイルが大きい場合は、独自のバッファリング ソリューションを実装する必要がある場合があります。

HTMLファイルからPDFを生成する機能はありますか?

HTML から PDF を生成したり、フォームに入力したりすることは、外部で管理されているツールを呼び出したくなるターンキー処理のように思えます。しかし、Rebol PDF 方言から合法的な PDF ファイルを生成する Gabriele Santilli によるプロジェクトがあります。

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

おもしろいのは、ライブラリのドキュメントが、ライブラリ自体を使用して作成された PDF ファイルであることです。それを作成するために使用された方言コードを見たい場合は、生成された結果と並べて見ることができます!

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

于 2011-04-28T19:27:49.267 に答える