none
VB2008 POST to ASP 的正確方法? RRS feed

  • 問題

  • 小弟不才~

    又來問問題了~

    想請教一下大大們

    在VB 2008中,如何用POST的方式丟資料給ASP呢

    小弟上網找到的資料如下

    VB2008 Code Snippet

     

    Dim xmlhttp As Object = CreateObject("Microsoft.XMLHTTP")
    xmlhttp.Open("POST", "http://x.x.x.x/post.asp", False)
    xmlhttp.Send("Data=abc")

     

    Dim s As String = System.Text.ASCIIEncoding.Default.GetString(xmlhttp.ResponseBody)
    MsgBox(s)

     

     

    ASP Code Snippet

    <%="D=" & Request.Form("Data") %>

     

     

    小弟照著做後VB卻都只收的到 "D="

    卻收不到VB丟過去的值

    怎麼試都不行~~~但是網路上的範例都是這樣就可以了~真傷腦筋

    請教一下正確用POST丟資料的用法是如何呢? 謝謝

    2008年10月13日 上午 11:25

解答

所有回覆

  • 請改用 WebClient 來做...。

     

    2008年10月13日 上午 11:42
    版主
  • 多謝大大的提示~~
    小弟馬上改用WebClient來做~~
    不過查了一些資料後改寫成

    Code Snippet

    Dim loadASP As New Net.WebClient
    Dim url As Uri = New Uri("Http://x.x.x.x/post.asp")

    loadASP.Encoding = System.Text.Encoding.UTF8
    MsgBox(loadASP.UploadString(url, "Data=abc"))


    結果仍是一樣~
    所以小弟就在想~是不是我傳值的格式錯了
    還是說ASP的部分也要做什麼修改嗎?
    ASP一直接不到VB丟過去的值...
    再麻煩大大幫忙看一下~~謝謝
    2008年10月13日 下午 04:22
  • 小弟在對岸的文章終於找到可以用的方法了


    Code Snippet

    Dim asp As New Net.WebClient
    Dim sendAsp As New Specialized.NameValueCollection
    sendAsp.Add("Data", "abcd")
    Dim ret As String = System.Text.ASCIIEncoding.UTF8.GetString(asp.UploadValues("http://x.x.x.x/post.asp", "POST", sendAsp))
    MsgBox(ret)



    這樣就可以將Data=abcd的資料丟給ASP~ASP處理完再將新資料丟回來

    感謝小朱大大的方向提示~~
    2008年10月14日 上午 01:29