【问题标题】:Getting 404 error for string generated URL字符串生成的 URL 出现 404 错误
【发布时间】:2019-06-02 18:13:33
【问题描述】:

在 Visual Basic 中创建请求 URL。相同的 url 将在 trello 的测试屏幕中工作

大家好,编写一个通过 Web API 向 Trello 添加新卡片的小部件。我在他们的开发者门户中玩过,那里的相同 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.'

【问题讨论】:

    标签: vb.net rest url http-status-code-404 webrequest


    【解决方案1】:

    在原始发布的代码中,有几行是 URL 参数中的编码空格:

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

    这与 HttpWebRequest 对象无关 - 将自动处理 URL 编码。

    这可能是 404 的原因 - 也许编码的空间被双重编码(或其他东西,使用像提琴手这样的工具可能会告诉你出了什么问题)?这取决于被调用的 api 接口可能会导致它返回 404。

    【讨论】:

    • 嗨 MarkL,感谢您的帮助。但是我只是检查了我的实际代码并且引号不存在,但它仍然有 404 错误。还有其他想法吗?干杯
    • @M.Green,我建议只用几行代码(webrequest、httpwebrequest 等)创建一个 MCVE,以复制问题并进行调查。失败的网址是什么?如果您收到 404,那么几乎可以肯定的是,网址会以某种方式出错。
    • 好吧,我能做到的就这么小。再次感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 2019-12-03
    • 2017-05-02
    • 1970-01-01
    • 2013-07-16
    • 2011-06-03
    • 1970-01-01
    • 2011-07-06
    相关资源
    最近更新 更多