首页 > 解决方案 > 使用 httpwebrequest vb.net 获得响应时出错

问题描述

我想使用 httpwebrequest 纠正正字法错误,

我在代码中放入了正确的标题,但我无法从服务器接收,我不知道为什么!

标题:

Post : http://orthographe.reverso.net/RISpellerWS/RestSpeller.svc/v1/CheckSpellingAsXml/language=fra?outputFormat=json&doReplacements=true&interfLang=fr&dictionary=both&spellOrigin=interactive&includeSpellCheckUnits=true&includeExtraInfo=true&isStandaloneSpeller=true
Host: orthographe.reverso.net
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:68.0)     Gecko/20100101 Firefox/68.0
Accept: application/json, text/javascript, */*; q=0.01
Accept-Language: fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Content-Type: text/plain
Created: 01/01/0001 00:00:00
Username: OnlineSpellerWS
Content-Length: 16
Origin: http://www.reverso.net
Connection: keep-alive
Referer: http://www.reverso.net/orthographe/correcteur-francais/

我的代码!

Dim logincookie As CookieContainer
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
    Dim postData As String = "email=&password=&username=" & TextBox1.Text & "&first_name=&opt_into_one_tap=false"
    Dim tempCookies As New CookieContainer
    Dim encoding As New UTF8Encoding
    Dim byteData As Byte() = encoding.GetBytes(postData)

    Dim postReq As HttpWebRequest = DirectCast(WebRequest.Create("https://www.instagram.com/accounts/web_create_ajax/attempt/"), HttpWebRequest)
    postReq.Method = "POST"
    postReq.KeepAlive = True
    postReq.CookieContainer = tempCookies
    postReq.ContentType = "application/x-www-form-urlencoded"
    postReq.Referer = "https://www.instagram.com/"
    'postReq.UserAgent = "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0"
    postReq.ContentLength = byteData.Length
    Dim postreqstream As Stream = postReq.GetRequestStream()
    postreqstream.Write(byteData, 0, byteData.Length)
    postreqstream.Close()
    Dim postresponse As HttpWebResponse
    postresponse = DirectCast(postReq.GetResponse(), HttpWebResponse)
    tempCookies.Add(postresponse.Cookies)
    logincookie = tempCookies
    Dim postreqreader As New StreamReader(postresponse.GetResponseStream())
    Dim thepage As String = postreqreader.ReadToEnd
    Dim s As String = thepage

标签: vb.nethttpwebrequest

解决方案


推荐阅读