【问题标题】:upload values with webclient使用 webclient 上传值
【发布时间】:2018-06-20 08:06:05
【问题描述】:

我正在尝试使用 vb.net 上传到此表单

<head>
        <title></title>
        <meta charset="utf-8">
        <link rel="stylesheet" type="text/css" href="/css/login.css">
    </head><meta charset="UTF-8">
<form method="post" action="/addData">
    <input type="text" name="id"/>
    <textarea name="data"></textarea>
    <input type="submit" name="add" value="go"/>
</form>

这是vb代码

    Dim data2 As New System.Collections.Specialized.NameValueCollection()
    data2.Add("id", TextBox1.Text)
    data2.Add("data", TextBox2.Text)
    data2.Add("add", "go")
    Dim client As New System.Net.WebClient
    client.UploadValues("link", data2)

知道我在这里做错了什么吗? 我总是收到错误 404,但这是不对的。 因为我通过显示显示页面源的 msgbox 进行了简单的检查。 它起作用了

【问题讨论】:

  • 你的uriString真的是空的吗?也许您可以告诉我们执行代码时实际发生了什么。
  • 它不是空的..这只是一个例子
  • 表单将其 POST 发送到/addData,这意味着您也需要这样做。如果您尝试 POST 到上面显示的代码页面,它将不起作用。 URL 以斜杠 (/) 开头,表示addData 位于网站的根目录中。因此,您应该将您的 POST 发送至:http://www.website.com/addData(或 https://,如果网站正在使用它)。
  • 谢谢!它马上就奏效了!
  • 很高兴听到!我将其作为答案发布在下面,以便可以将问题标记为已解决!

标签: vb.net webclient


【解决方案1】:

我们不能说太多(至少我不能)。

你应该做的是检查你发送的 POST 请求(通过你的常规浏览器),这样你就会知道你需要发送什么。

例如,这里是发布此答案的 POST 请求的样子。

qualityBanWarningShown=false&referrer=https%3A%2F%2Fstackoverflow.com%2Fquestions%2Ftagged%2Fvb.net&post-text=We+can't+say+much+from+that+(at+least+I+can't).%0D%0A%0D%0AWhat+you+should+do+is+inspect+the+POST+request+you+send+(via+your+regular+browser)+that+way+you+will+know+what+you+need+to+send.&fkey=<something>&author=&i1l=<something>

【讨论】:

    【解决方案2】:

    表单将其 POST 发送到 /addData,这意味着您也需要这样做。如果您尝试 POST 到上面显示的代码页面,它将无法正常工作。

    网址以斜杠 (/) 开头,表示addData 位于网站的根目录中。因此,您应该将您的 POST 发送至:http://www.website.com/addData(或 https://,具体取决于网站使用的内容)。

    【讨论】:

      猜你喜欢
      • 2012-06-18
      • 2020-02-14
      • 1970-01-01
      • 1970-01-01
      • 2018-08-04
      • 2023-03-31
      • 2020-07-28
      • 2017-12-28
      • 2021-01-19
      相关资源
      最近更新 更多