青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

kenlistian

厚積薄發(fā). 勤為槳,思為帆

   :: 首頁 :: 新隨筆 ::  :: 聚合  :: 管理 ::
  73 隨筆 :: 4 文章 :: 22 評論 :: 0 Trackbacks

補:沒辦法;俺的cnit的博客發(fā)布不上去,就發(fā)在俺的cpp博客吧。

      由于工作緣故,需要處理一接口發(fā)送來的xml串,對方采用java以字節(jié)流模式post一個xml串,
  在asp中采用request估計把它加載到xml解析器中應(yīng)該報無法解析。

     采用Request.binaryRead 即可解決,但是要注意幾個細節(jié)方面。

     一一到來。

  1. 讀取字節(jié)流

       Dim vtBody

       iReceive = Request.TotalBytes

       vtBody = Request.BinaryRead(iReceive)

2.   轉(zhuǎn)換字節(jié)流為字符串,有以下幾個函數(shù)可以任選。

  

' a。byte --> str  ,該轉(zhuǎn)換只適用小數(shù)據(jù),但是所有ie沒有問題,,,
Function bytes2BSTR(vIn)
    strReturn = ""
    For i = 1 To LenB(vIn)
        ThisCharCode = AscB(MidB(vIn,i,1))
        If ThisCharCode < &H80 Then
            strReturn = strReturn & Chr(ThisCharCode)
        Else
            NextCharCode = AscB(MidB(vIn,i+1,1))
            strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
            i = i + 1
        End If
    Next
    bytes2BSTR = strReturn
End Function

'b。采用 ado record來轉(zhuǎn)換,該轉(zhuǎn)換速度快,轉(zhuǎn)換數(shù)據(jù)大,據(jù)說對ie5支持不夠好,
function rsbinarytostring(xbinary)
Dim binary

  If  vartype(xbinary)= 8 then
    binary = multibytetobinary(xbinary)
  Else 
    binary = xbinary
  End If
  Dim rs, lbinary
  const adlongvarchar = 201
  Set rs = createobject("adodb.recordset")
  lbinary = lenb(binary)

  If lbinary>0 Then
    rs.fields.append "mbinary", adlongvarchar, lbinary
    rs.open
    rs.addnew
    rs("mbinary").appendchunk binary
    rs.update
    rsbinarytostring = rs("mbinary").Value
    rs.Close
  Else
   rsbinarytostring = ""
  end if
End Function

'***************************************************
'c。采用流解析字符串,該轉(zhuǎn)換速度快,轉(zhuǎn)換數(shù)據(jù)大,據(jù)說對ie5支持不夠好,
function stream_binarytostring(binary, charset)
  set binarystream = createobject("adodb.stream")
  '讀入字節(jié)流
  binarystream.type = 1
  binarystream.open
  binarystream.write binary

  '內(nèi)部以字符方式返回
  binarystream.position = 0
  binarystream.type = 2
  If len(charset) > 0 Then
    binarystream.charset = charset
  Else
    binarystream.charset = "us-ascii"
  End If
  stream_binarytostring = binarystream.readtext
end function

則調(diào)用上面任一個進行轉(zhuǎn)換即可。如:

  strBody = stream_binarytostring(vtBody, "utf-8")

3. 將strBody解碼

   如果調(diào)用Response.Write strBody ,則在ie上可以看到正常的xml結(jié)構(gòu)體部分。

   但是如果你要是寫在文本中,你將會看到的是如下的樣式:

%3C%3Fxml+version+%3D+%221.0%22+encoding%3D%22UTF-8%22+%3F%3E%3CROOT%3E%3CUSER%3Egtzx%3C%2FUSER%3E%3CPASS%3Egtzx%3C%2FPASS%3E%3CMO%3E%3CMOID%3E291AC5FDBD0DF4EF2B2A2950FB730610%3C%2FMOID%3E%3CMSGFORMAT%3E15%3C%2FMSGFORMAT%3E%3CCLASSID%3Ehttp%3A%。。。。%3E%3CSERVICEID%3E1981%3C%2FSERVICEID%3E%3CCITYID%3E102%3C%2FCITYID%3E%3CPROVINCEID%3E16%3C%2FPROVINCEID%3E%3CMOUSEID%3E2%3C%2FMOUSEID%3E%3CSPNUMBER%3E10666066%3C%2FSPNUMBER%3E%3CLINKID%3E%3C%2FLINKID%3E%3CREMARK%3E%3C%2FREMARK%3E%3C%2FMO%3E%3C%2FROOT%3E

  這表示是url 編碼方式,它把utf-8編碼進行了再一次編碼,如果你要是xml解析器來解析的話,恐怕它是干不了活的。(也許有,但是asp中玩那個xmldocument實在是不想研究下去)

  不過再需要做個urlDecode轉(zhuǎn)換,這個asp函數(shù),網(wǎng)上一大把,搜出一個,粘貼下來就可以去掉%并轉(zhuǎn)換utf-8格式。這里貼出一個修改的urlDecode函數(shù),

'*****************************************************
'功能描述:URL解碼碼函數(shù)
'輸入?yún)?shù):vURL編碼的字符串
'返回值:解碼后的字符串
Public Function URLDecoding(sIn)
Dim s,i,l,c,t,n : s="" : l=Len(sIn)

For i=1 To l
    c=Mid(sIn,i,1)
    If c<>"%" Then
        s = s & c
    Else
        c=Mid(sIn,i+1,2) : i=i+2 : t=CInt("&H" & c)
        If t<&H80 Then
            s=s & Chr(t)
        Else
            c=Mid(sIn,i+1,3)
            If Left(c,1)<>"%" Then
                URLDecoding=s
                Exit Function
            Else
                c=Right(c,2) : n=CInt("&H" & c)
                t=t*256+n-65536
                s = s & Chr(t) : i=i+3
            End If
        End If
    End If
Next
s=Replace(s, "+"," ")
URLDecoding=s
End Function

  4. 調(diào)用xml解析器,加載以上字符串,即可解決。

'***********************************************************
'解析xml文件
'***********************************************************
Dim xml
Set xml = Server.CreateObject ("msxml2.DOMDocument")
xml.Async = False
xml.Loadxml(strBody)

5.讀出xml中的節(jié)點,寫入文本或者寫入數(shù)據(jù)庫,ok。

 

總結(jié):

      在asp中采用xmlhttp發(fā)送或者接收,是不考慮字節(jié)流模式發(fā)送的,直接調(diào)用xmlhttp中的send即可。管它是

按啥模式發(fā)送的,但是在其他語言編程中,比如java,c#,or vc中,有可能是按字節(jié)流方式發(fā)送出去的,那么,

如果想圖個方便,直接用asp寫個接口處理下,就要考慮下和其他程序處理的細節(jié)。

posted on 2008-03-05 16:12 kenlistian 閱讀(2090) 評論(0)  編輯 收藏 引用
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美多人爱爱视频网站| 国产一区二区| 午夜久久久久久| 日韩亚洲欧美一区| 亚洲高清在线观看| 亚洲日韩视频| 国产精品欧美精品| 午夜免费久久久久| 国产精品久久久久毛片大屁完整版 | 午夜综合激情| 国产精品theporn| 欧美午夜久久| 国产色爱av资源综合区| 激情久久一区| 亚洲精品永久免费| 午夜精品久久久久久99热软件| 欧美在线黄色| 欧美国产日韩xxxxx| 9i看片成人免费高清| 欧美一区二区高清| 欧美大胆人体视频| 国产日韩欧美综合精品| 在线观看欧美| 午夜精品视频在线观看一区二区| 久久亚洲国产精品一区二区| 亚洲国产aⅴ天堂久久| 中日韩高清电影网| 久久影院午夜论| 国产精品久久久久一区二区三区| 激情五月***国产精品| 亚洲视频福利| 亚洲国产精品一区二区第四页av| 亚洲五月婷婷| 欧美激情综合五月色丁香小说| 国产精品中文字幕在线观看| 亚洲人成在线播放| 久久综合久久综合九色| 亚洲一区尤物| 欧美日韩理论| 亚洲激情黄色| 老司机精品福利视频| 亚洲欧美日本国产有色| 欧美日韩国产在线观看| 亚洲国产精品第一区二区三区| 亚洲一区二区免费看| 亚洲国产合集| 美女脱光内衣内裤视频久久影院 | 免费一级欧美片在线观看| 国产精品丝袜91| 亚洲淫性视频| 一本色道88久久加勒比精品| 欧美成人激情视频| 亚洲成色999久久网站| 久久精品国产亚洲精品| 亚洲午夜久久久久久尤物| 欧美精品一区二区三区久久久竹菊 | 久久综合导航| 好吊一区二区三区| 久久国产精品亚洲77777| 亚洲一区欧美二区| 玖玖在线精品| 一区二区三区在线免费视频| 性娇小13――14欧美| 亚洲午夜国产一区99re久久| 欧美国产三级| 亚洲性色视频| 亚洲免费视频中文字幕| 国产精品一区在线观看| 久久大香伊蕉在人线观看热2| 亚洲一区成人| 国产日韩专区| 美女网站在线免费欧美精品| 久久久久91| 亚洲欧洲美洲综合色网| 日韩视频在线一区| 国产精品一区三区| 久久中文欧美| 欧美电影在线播放| 亚洲一区三区在线观看| 午夜免费久久久久| 伊人久久大香线| 亚洲黑丝在线| 国产精品进线69影院| 欧美资源在线观看| 欧美成人精品影院| 午夜视黄欧洲亚洲| 久久欧美中文字幕| 国产精品99久久99久久久二8| 午夜精品免费视频| 亚洲精品国产视频| 亚洲综合电影| 亚洲精品久久久久久久久久久 | 先锋a资源在线看亚洲| 欧美影院视频| 99精品国产在热久久婷婷| 亚洲综合精品一区二区| 91久久精品美女高潮| 亚洲天堂男人| 亚洲国产日韩美| 亚洲免费一级电影| 亚洲免费av片| 久久久久久久91| 亚洲直播在线一区| 麻豆乱码国产一区二区三区| 亚洲欧美日韩一区在线| 久久久精品一区| 亚洲欧美久久久久一区二区三区| 久久青青草原一区二区| 亚洲欧美综合v| 欧美福利在线观看| 久久深夜福利免费观看| 国产精品毛片va一区二区三区| 美日韩精品免费| 国产免费一区二区三区香蕉精| 亚洲精品久久久久久下一站 | 亚洲日本激情| 性欧美xxxx视频在线观看| 一区二区三区四区在线| 巨胸喷奶水www久久久免费动漫| 国产精品久久久久7777婷婷| 欧美成人r级一区二区三区| 国产精品九色蝌蚪自拍| 亚洲乱码国产乱码精品精98午夜| 在线观看亚洲a| 欧美一级片久久久久久久| 亚洲自拍偷拍色片视频| 欧美精品一区二区三区很污很色的| 久久综合色一综合色88| 国产日韩高清一区二区三区在线| 日韩视频在线一区| 一本久道久久久| 欧美不卡视频| 亚洲高清自拍| 亚洲啪啪91| 免费亚洲一区二区| 欧美电影在线观看| 伊人婷婷欧美激情| 久久视频这里只有精品| 欧美高清视频www夜色资源网| 国产在线精品一区二区中文| 久久av一区二区| 久久躁日日躁aaaaxxxx| 狠狠色噜噜狠狠色综合久| 久久狠狠一本精品综合网| 久久综合精品国产一区二区三区| 精品不卡视频| 蜜月aⅴ免费一区二区三区| 欧美二区在线观看| 国产精品99久久久久久久vr| 国产精品xxxav免费视频| 亚洲一区在线免费观看| 久久成人18免费网站| 国产综合久久久久久鬼色| 久久精品99国产精品| 久久中文欧美| 日韩性生活视频| 国产精品久久久免费| 亚洲免费在线电影| 午夜亚洲性色视频| 激情五月婷婷综合| 欧美日韩国产美女| 午夜伦欧美伦电影理论片| 老司机午夜精品视频| 亚洲韩日在线| 欧美婷婷六月丁香综合色| 亚洲综合精品四区| 欧美国内亚洲| 亚洲欧美国产高清| 狠狠综合久久av一区二区小说| 美女久久一区| 亚洲伊人伊色伊影伊综合网| 男人插女人欧美| 亚洲视频欧洲视频| 激情婷婷亚洲| 国产精品福利在线观看| 久久久久se| 99re成人精品视频| 久久在线免费观看| 亚洲免费在线视频| 亚洲日本成人网| 国产日韩欧美中文在线播放| 欧美屁股在线| 久久婷婷蜜乳一本欲蜜臀| 一区二区三区视频观看| 男人天堂欧美日韩| 欧美一级理论片| 在线中文字幕日韩| 亚洲电影下载| 国产一区二区激情| 国产精品成人aaaaa网站| 久久麻豆一区二区| 亚洲欧美日韩中文视频| 亚洲天堂免费在线观看视频| 在线成人av| 国产模特精品视频久久久久| 欧美日韩日本国产亚洲在线| 久久夜色精品国产欧美乱| 亚洲欧美国产高清| 夜夜嗨av一区二区三区| 亚洲人成77777在线观看网|