tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル POSTされたデータの読み方
投稿日: 2005/09/28(Wed) 23:22
投稿者こばち
[OSのVer]:Windows xp    [VBのVer]:VB.NET2003
はじめまして、こばちと申します。
ASPからVB.NETへの移行を行おうと思っています。
今、私がやっているシステムは、クライアントにDelphi6.0で開発されたexeがあり、サーバー側にasp
で作成されたプログラムがIISで動作しています。つまり、ウェブ開発ではないのですが、ウェブの機
構を使って文字列の交換を行うという変則的なやり方をしています。で、このサーバー側のaspを
vb.netで書き直す予定です。
で、クライアント側DelphiのexeはGetでは文字列制限があるので、Postメソッドを利用して送信して
きますので、vb.net側はPostされた文字列を読む必要があります。
[asp時代のコーディング]
<%
Dim ReturnData
DIM binRead
DIM byteCount
Dim cText
byteCount = Request.TotalBytes
binRead = Request.BinaryRead(byteCount)
cText = Bin2Str(binRead)  'バイナリを文字列に変換するユーザ定義関数
Response.Write(cText)
%>
<%
Function Bin2Str(byteData)
    Bin2Str =""
    i = 1
    Do While i <= LenB(byteData)
        u = Hex(AscB(MidB(byteData, i, 1)))
        If ((CInt("&H" & u) >= &H81) And (CInt("&H"
& u) <= &H9F)) _
            Or ((CInt("&H" & u) >= &HE0) And (CInt("&H&qu
ot; & u) <= &HFC)) Then 'Code Page 932
            l = Hex(AscB(MidB(byteData, i + 1, 1)))
            intChar = CInt("&H" & u & l)
            s = Chr(intChar)
            i = i + 2
        Else
            intChar = CInt("&H" & u)
            s = Chr(intChar)
            i = i + 1
        End If
        Bin2Str = Bin2Str & s
    Loop
End Function
%>
<%
Function Str2Bin(strData)
'バイナリのバイト文字を文字列に変換する。

End Function
%>
>%
[ここまで]

実は、Str2Binという関数は夢野國夫さんという方がhpで公開されているものです。中身はそちらを娯楽下さい。正直内容に関しては全く理解していないで利用させていただいていました。
また、Request.BinaryReadに関してはhelpを参照しても「aspとの互換性のために残した」と記述して
ありますので、vb.netではもっと楽な方法で取得できるのでは、とも思うのですが、InputStreamなど
それらしいものを利用しても上手く行かない状況です。
ずっとクラサバ畑にいたので、こうしたhttpのやり取りは今ひとつスキルが足らないのですが、何卒
ご教授いただけませんでしょうか。
  

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。