Получение 404 ошибки для сгенерированного строки URL - PullRequest
0 голосов
/ 08 января 2019

Создание запроса URL в Visual Basic. тот же URL будет работать на тестовом экране в trello

Привет, ребята, так что кодируйте виджет, который добавляет новую карту в Trello через веб-API. Я поиграл на их портале deveoper, и тот же URL-адрес будет работать, однако при запуске в Visual Basic он выдает ошибку 404, ожидая ответа. Любая помощь будет оценена. Это для школьного проекта, так что относительно новый для всех. Большое спасибо.

Imports System.IO
Imports System.Net
Imports Newtonsoft.Json.Linq

Imports System.Text

Public Class Form1

Private Sub btnUpload_Click(sender As Object, e As EventArgs) Handles btnUpload.Click
    Dim cardName As String = name.Text.ToString
    Dim cardtext As String = desc.Text.ToString

    Dim cardUploadURL As String = "https://api.trello.com/1/cards?name=" + cardName + "&desc=" + cardtext + "&pos=top&idList=5b67fe11c8bc945a40b905fe&keepFromSource=all&key=c1b9497af5a50f3392ffe1331863ccab&token=63238f657944a4c276d2d136b8baba6ba0ac78906aa6bfcdb87f469789440feb"
    MessageBox.Show(cardUploadURL)
    dataGet(cardUploadURL)
    MessageBox.Show("card Uploaded")
End Sub

Public Shared Function dataGet(URL As String)
    Dim request As HttpWebRequest
    Dim response As HttpWebResponse = Nothing
    Dim reader As StreamReader

    request = DirectCast(WebRequest.Create(URL), HttpWebRequest)

    response = DirectCast(request.GetResponse(), HttpWebResponse)
    reader = New StreamReader(response.GetResponseStream())

    Dim data As String
    data = reader.ReadToEnd()

    Return data
End Function

Конечный класс и сообщение об ошибке:

  System.Net.WebException 'The remote server returned an error: (404) Not Found.'

1 Ответ

0 голосов
/ 08 января 2019

В исходном размещенном коде есть строки, которые являются пробелами в параметрах URL:

cardName = cardName.Replace(" ", "%20")

Это не обязательно делать с объектами HttpWebRequest - кодировка URL будет обрабатываться автоматически.

Это может быть причиной 404 - может быть, закодированные пробелы кодируются дважды (или что-то еще, использование такого инструмента, как fiddler, может сказать вам, что не так)? Что в зависимости от вызываемого интерфейса API может привести к возвращению 404.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...