私はIIS5.1/ASP-classic(XP-Pro開発ボックス)の下でRESTインターフェイスを実装しようとしています。これまでのところ、PUT HTTPメソッドで要求コンテンツ変数を取得するために必要な呪文は見つかりませんでした。私は私のASPコードにDepartment
とName
値を読みますかIIS5.1およびASP-classicのHTTP PUT要求のパラメータ取得?
PUT http://localhost/rest/default.asp?/record/1336
Department=Sales&Name=Jonathan%20Doe%203548
:よう要求して
?
Request.Form
は、POSTリクエストのみをサポートするようです。 Request.ServerVariables
はヘッダー情報のみになります。
var byteCount = Request.TotalBytes;
var binContent = Request.BinaryRead(byteCount);
var myBinary = '';
var rst = Server.CreateObject('ADODB.Recordset');
rst.Fields.Append('myBinary', 201, byteCount);
rst.Open();
rst.AddNew();
rst('myBinary').AppendChunk(binContent);
rst.update();
var binaryString = rst('myBinary');
var contentString = binaryString.Value;
var parameters = {};
var pairs = HtmlDecode(contentString).split(/&/);
for(var pair in pairs) {
var param = pairs[pair].split(/=/);
parameters[param[0]] = decodeURI(param[1]);
}
:Request.QueryString
は、私ははBinaryReadの道を行き、下の最初の試みを思い付いたAnthonyWJonesとARSからの応答に基づいて、コンテンツのいずれか...
に私を取得していませんThis blog post by David Wang、およびHtmlDecode()
の機能は、blogs.msdn.comのAndy Oakleyからも取りました。
この分割と手動でエスケープすると、ここには1001個のバグがありますが、少なくとも私は再び移動しています。ありがとう。
を、ボディ・コンテンツ・フォーマットかなり固定されています。私はバイナリ読み取りを追いかける必要があるように見えます。 – aczarnowski