How to send a POST in .net vb?

后端 未结 3 1364
闹比i
闹比i 2020-12-06 07:37

What i am trying to do is get my user to enter in a phone number and message and then post it to text marketer which send the message.

at the moment if i use a resp

相关标签:
3条回答
  • 2020-12-06 08:18

    Don't do this server side, but client side using AJAX.

    The jQuery ajax library is quite good.

    0 讨论(0)
  • 2020-12-06 08:23

    you have to use the webrequest class. refer http://msdn.microsoft.com/en-us/library/debx8sh9.aspx

    0 讨论(0)
  • 2020-12-06 08:27

    actually, you don't have to do this server side (vb), just plain html will do the trick:

    <html>
        <body>
            <form action="http://google.com" method="post">
                <input type="hidden" value="somevalue"/>
                <input Type="submit" value="Submit"/>
            </form>
        </body>
    </html>
    

    this will post the data (and in effect, redirect) to google.com.

    Maybe you could use client script (jQuery) - $.ajax() or $.post(). but I think you will face cross domain restrictions (there is a workaround but its not that clean and straightforward).

    Another is using the HttpWebRequest class. This is server side and the post will originate from your server instead of the client (as what the 1st approach will do). upon calling request.GetResponse(), you can retrieve the output from the remote server and render it on your page. But if you want to post and redirect to the remote url then I guess you should use the first approach.

    EDIT:

    try this in VB:

    Option Infer On
    Imports System.Net
    Imports System.Text
    
    
    Public Class Test
    
        Private Sub TESTRUN()
            Dim s As HttpWebRequest
            Dim enc As UTF8Encoding
            Dim postdata As String
            Dim postdatabytes As Byte()
            s = HttpWebRequest.Create("http://www.textmarketer.biz/gateway/")
            enc = New System.Text.UTF8Encoding()
            postdata = "username=*****&password=*****&message=test+message&orig=test&number=447712345678"
            postdatabytes = enc.GetBytes(postdata)
            s.Method = "POST"
            s.ContentType = "application/x-www-form-urlencoded"
            s.ContentLength = postdatabytes.Length
    
            Using stream = s.GetRequestStream()
                stream.Write(postdatabytes, 0, postdatabytes.Length)
            End Using
            Dim result = s.GetResponse()
        End Sub
    End Class
    

    update2:

    a GET request using HttpWebRequest in VB.net.

    Dim s As HttpWebRequest
    Dim username = "username=" + HttpUtility.UrlEncode("yourusername")
    Dim password = "password=" + HttpUtility.UrlEncode("yourp@assword)!==&@(*#)!@#(_")
    Dim message = "message=" + HttpUtility.UrlEncode("yourmessage")
    Dim orig = "orig=" + HttpUtility.UrlEncode("dunno what this is")
    Dim num = "number=" + HttpUtility.UrlEncode("123456")
    Dim sep = "&"
    Dim sb As New StringBuilder()
    sb.Append(username).Append(sep).Append(password).Append(sep)
    sb.Append(message).Append(sep).Append(orig).Append(sep).Append(num)
    
    s = HttpWebRequest.Create("http://www.textmarketer.biz/gateway/?" + sb.ToString())
    
    s.Method = "GET"
    Dim result = s.GetResponse()
    
    0 讨论(0)
提交回复
热议问题