Rebol HTTP スキームは、これを念頭に置いて設計されたものではありません。HTTP を介したサービスではなく、ブラウザーで行うようにコンテンツを読み取ることを目的としています。
つまり、プロトコルをハッキングして、Rebol 2 がさまざまな応答コードを処理する方法を覆すことができます。
in-http-scheme: func [does [block!]][
do bind :does bind? last body-of get in system/schemes/http/handler 'open
]
in-http-scheme [
remove-each [code response] response-actions [find [400 403 404] code]
append response-actions [400 success 403 success 404 success]
]
ここでの注意点は、HTTP プロトコルが開始されている必要があることです (すべての http ポートが開かれている/読み取られている)。 response-actions
http が開始されていない場合でもアクセスできます。
select body-of get in system/schemes/http/handler 'open quote response-actions:
次のようにして、最後の応答行を取得できます。
in-http-scheme [response-line]
または、HTTP を介したサービス用に設計されたスキームが必要になります。私はREST プロトコルを持っています(2 つのバージョン、1 つは cURL を使用し、もう 1 つはカスタマイズされた HTTP スキームを使用しますが、うまく機能しません)。ただし、Rebol 2 用です。Rebol 3 バージョンの計画があります。