VB.net 异步http POST 接收部分内容

VB.net Asynchronous http POST receive partial content

我必须对 post 大文件使用异步 http 方法,并使用 webclient class.

从 vb.net 中的 http 脚本获得简短响应

我在 vb.net / visualStudio 2015 + .net 4.5.2 中的脚本是:

    Dim datas As Byte()
    Dim rep As Byte()
    Dim uriStr As String = "http://www.bigfile.fr/bigfile/test.php"

    datas = System.Text.Encoding.Unicode.GetBytes("aaa=1&bbb=2&ccc=3&ddd=4&eeee=5")
    w.Headers.Add("Content-Type", "application/x-www-form-urlencoded")
    rep = w.UploadData(uriStr, datas)

    MsgBox("result is => " & Encoding.ASCII.GetString(rep))

php test.php 脚本 "test.php" 是:

var_dump($_REQUEST);
die;

但是结果在警告框中:

result is => array(1){
["a"] => string(3)
}

有没有人解释一下?

谢谢!

已解决。 问题只是错误的字符集页面使用...

System.Text.Encoding.ASCII.GetBytes(strParams) 

而不是

System.Text.Encoding.UNICODE.GetBytes(strParams)

结果是:

array(2) {
  ["aaa"]=>
  string(1) "1"
  ["bbbb"]=>
  string(1) "2"
  ["ccc"]=>
  string(1) "3"
  ["ddd"]=>
  string(1) "4"
  ["eeee"]=>
  string(1) "5"
}