Привет, я пытаюсь связаться с webservice на моей странице asp.net в моем коде позади (vb.net), когда я делаю вызов, я получаю несанкционированную ошибку 401, однако, когда я пытаюсь использовать тот же вызов, хотя простая html-страница работает.
вот моя простая html-страница
<form method="post" action="https://mycallingwebpage.co.uk/login">
<input type="submit">
</form>
это прекрасно работает и возвращает то, что я ожидал бы.
однако в моем коде vb.net это не работает.
Public Function mylogin(ByVal ServiceProfile) As String
Dim xmldoc As New Xml.XmlDocument
Try
myWebClient = New WebClient
myWebClient.Headers.Add("Content-Type", "text/plain")
Dim bytRetData As Byte() = myWebClient.DownloadData("https://mycallingwebpage.co.uk/login" & ServiceProfile)
Catch ex As Exception
End Try
End Function
Я сделал несколько шагов вперед.
В дополнение к моему предыдущему вопросу выше я до сих пор не могу позвонить. Я обнаружил, что если я звоню на http-url, это работает, но называть https-url это не так - этот вызов ajax ниже работает для меня - настолько эффективно, что мне нужно сделать, чтобы преобразовать этот код ниже в веб-клиент позвонить в vb.net? - это нужно для https
$.ajax({
type: "POST",
contentType: 'application/x-www-form-urlencoded',
dataType: "application/xml",
crossDomain: true,
data: {'login' : encodeURIComponent('user'),'password' : encodeURIComponent('password')} ,
url: "https://myURL.com",
success: doThis,
error: doThat
});
вы должны "авторизовать" себя перед тем, как получить доступ к WS. Вероятно, вам не хватает заголовка авторизации. Извините, я не специалист по VB, но это должно быть примерно так:
myWebClient.Headers.Add("Authorization", "Basic " + ADD_UR_SECRET_HERE)
BTW, не забудьте закодировать свой секретный токен, используя Encoder Base64, прежде чем добавлять его в заголовки.
Надеюсь, это помогло.
ServiceProfile
?