Почему я продолжаю получать 403 «Запрещенный» ответ на тестовый сайт HMRC по НДС при использовании их образца кода на VB.net - PullRequest
0 голосов
/ 03 апреля 2019

Я пытаюсь связаться с 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-адрес и строка запроса отлично работают в браузере.

...