Я пытаюсь связаться с API HMRC по тестированию НДС, но всякий раз, когда я пытаюсь получить ответ при загрузке NameValueCollection
, я получаю 403 Forbidden , и все же используя текст строки в браузере, это работаеткаждый раз.
Я показываю код, который я использую, и строка, на которую он падает, выглядит следующим образом:
Dim responseBytes As Byte() = client.UploadValues(address, "POST", values)
Я использую VB.net в VS2017, но, похоже, поддержка VB очень мала.net в настоящее время.
Dim client = New WebClient()
Dim address = New Uri(String.Format("https://test-api.service.hmrc.gov.uk/oauth/authorize"))
Dim client_id As String = "MY-CLIENT-ID"
Dim scope As String = "hello"
Dim redirecturi As String = "https://www.example.com/redirect/"
Dim values = New NameValueCollection
values.Add("client_id", client_id)
values.Add("response_type", "code")
values.Add("scope", scope)
values.Add("redirect_uri", redirecturi)
Dim responseBytes As Byte() = client.UploadValues(address, "POST", values)
'Get response
Dim response As String = Encoding.UTF8.GetString(responseBytes)
Возвращается с
System.Net.WebException: 'The remote server returned an error: (403) Forbidden.'
nb Очевидно, я не показываю свой действительный идентификатор клиента, а URL-адрес и строка запроса отлично работают в браузере.