Ошибка 404 при получении ответа сервера vb.net - PullRequest
0 голосов
/ 01 июля 2019

Я совершенно новичок в веб-запросе, поэтому не знаю, с какой причиной я получаю ошибку.

Я пытаюсь войти в форму, следуя инструкции Microsoft для веб-запроса, но когда хочуполучить ответ сервера, у меня следующая ошибка:

"удаленный сервер возвратил ошибку (404) не найден"

Итак, я знаю, что URL, который я используюна самом деле существуют, а потом удивляются, какая часть кода плохая.Может быть, это потому, что я делаю HTTPS-запрос в отличие от учебника, и это что-то меняет?Кроме того, меня немного смущает, когда я получаю прямой ответ от сервера: не должен ли быть своего рода триггер, чтобы узнать, когда сервер ответил?

Dim request = WebRequest.Create("https://ssl.vocabell.com/mytica2/login")
request.Credentials = CredentialCache.DefaultCredentials
request.Method = "POST"
Dim byteArray = Encoding.UTF8.GetBytes("_username=x&_password=x")
request.ContentType = "application/x-www-form-urlencoded"
request.ContentLength = byteArray.Length
Dim dataStream = request.GetRequestStream()
dataStream.Write(byteArray, 0, byteArray.Length)
dataStream.Close()
Dim reponse = request.GetResponse() 'ERROR
MsgBox(CType(reponse, HttpWebResponse).StatusDescription)
Using ds = reponse.GetResponseStream
     Dim reader = New StreamReader(ds)
     MsgBox(reader.ReadToEnd)
End Using
reponse.Close()

Спасибо за ваше время, и еслиу вас есть какой-либо соответствующий учебник по теме, я был бы рад прочитать его!

1 Ответ

1 голос
/ 01 июля 2019

Страница, которую вы упомянули, существует и использует HTTPS, но если вы посмотрите на тег формы внутри нее, это будет выглядеть так:

<form class="login-form form-horizontal" action="/mytica2/login_check" method="POST">

Это означает, что она не отправляет форму обратнотот же URL, что и на странице, вместо этого он отправляет его на URL, содержащийся в этом атрибуте «action».Если вы пытаетесь использовать свой код для имитации отправки формы входа в систему, то похоже, что вместо этого вам нужно отправить запрос POST на https://ssl.vocabell.com/mytica2/login_check.

...