2

これは、HttpWebRequest を使用して Web フォームに自動的に入力して送信するコードです。

            Dim cweb As String = "http://www.yellowpages.com/novato-ca/mip/creative-memories-consultant-senior-director-461725587/send_email?lid=171673036"
            Dim POST As String = "&email%5Bto_address%5D=recipient@email.com&email%5Bfrom_name%5D=Test Name&email%5Bfrom_address%5D=sender@mail.com&email%5Bnote%5D=Hello There"       

            Dim request As HttpWebRequest
            Dim response As HttpWebResponse

            request = CType(WebRequest.Create(cweb), HttpWebRequest)
            request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.72 Safari/537.36"
            request.AllowAutoRedirect = True
            request.ContentType = "application/x-www-form-urlencoded"
            request.ContentLength = POST.Length
            request.Method = "POST"
            request.KeepAlive = True

            Dim requestStream As Stream = request.GetRequestStream()
            Dim postBytes As Byte() = Encoding.ASCII.GetBytes(POST)
            requestStream.Write(postBytes, 0, postBytes.Length)
            requestStream.Close()

            response = CType(request.GetResponse(), HttpWebResponse)
            response.Close()

このコードでは、yellowpages のメーリング フォームを例として使用しました。はい、記入して送信できますが、別の方法が必要です。POSTリクエストを送信できるWebClient以外の代替手段はありますか? POST リクエストを送信できる System.Net.Sockets に関するトピックを読みましたが、どこから始めればよいかわかりません。どんなヒントでも喜んで受け入れます。私は本当に HttpWebRequest と WebClient が POST リクエストを送信するのが遅いと感じています。

4

1 に答える 1

2

こんにちは、この方法を試すことができます

Using sendto As New Net.WebClient
    Dim param As New Specialized.NameValueCollection
    param.Add("param1", "value1")
    param.Add("param2", "value2")
    Dim response_bytes = sendto.UploadValues(yourUrl, "POST", param)
    Dim response_body = (New Text.UTF8Encoding).GetString(response_bytes)
End Using
于 2014-01-21T10:21:35.323 に答える