使用vb.net将json数据发布到php

我正在尝试将数据从VB.NET应用程序发送到php应用程序,我发现此代码:< / p>

 私有函数SendRequest(uri As Uri,jsonDataBytes As Byte(),contentType As String,method As String)As String 
Dim req As WebRequest = WebRequest.Create(uri)

req.ContentType = contentType
req.Method = method
req.ContentLength = jsonDataBytes.Length

Dim stream = req.GetRequestStream()
stream.Write(jsonDataBytes,0,jsonDataBytes.Length )
stream.Close()

Dim response = req.GetResponse()。GetResponseStream()

Dim reader As New StreamReader(response)
Dim res = reader.ReadToEnd()
reader。 Close()
response.Close()

返回res
End函数

Dim data = Encoding.UTF8.GetBytes(jsonSring)
Dim result_post = SendRequest(uri,data,“application / json”,“ POST“)
</ code> </ pre>

at:来源 </ p >

但我可以' 获取php上发布的数据。 它发送标题,但数据没有。</ p>

所以,我需要帮助来弄清楚缺少的是什么。</ p>
</ div>

展开原文

原文

I'm trying to send data from a VB.NET Application to a php application, i found this code:

Private Function SendRequest(uri As Uri, jsonDataBytes As Byte(),contentType As String, method As String) As String
    Dim req As WebRequest = WebRequest.Create(uri)
    req.ContentType = contentType
    req.Method = method
    req.ContentLength = jsonDataBytes.Length


    Dim stream = req.GetRequestStream()
    stream.Write(jsonDataBytes, 0, jsonDataBytes.Length)
    stream.Close()

    Dim response = req.GetResponse().GetResponseStream()

    Dim reader As New StreamReader(response)
    Dim res = reader.ReadToEnd()
    reader.Close()
    response.Close()

    Return res
End Function

Dim data = Encoding.UTF8.GetBytes(jsonSring)
Dim result_post = SendRequest(uri, data, "application/json", "POST")

at: source

But I can't get the posted data on php. It sends the headers, but the data no.

So, I need help to figure it out what is missing.

dqq46733
dqq46733 好,可以。我已经阅读了文档,看起来你的方法在这个意义上基本上没问题。它应该在另一端再次转换回文本。您是否检查过(a)您发送的JSON是否有效以及(b)包含您在PHP端检查的相同变量?可能值得发布您的JSON示例以及正在阅读它的PHP。
大约 4 年之前 回复
dpq39825
dpq39825 请求Stream只接受写入字节。
大约 4 年之前 回复
douying4203
douying4203 是的,我理解。我问你是否想要二进制或字符串/JSON格式?因为您借用的代码将您的请求正文转换为二进制代码。如果你想将它作为字符串,你应该删除进行二进制转换的部分,然后只发送原始的JSON字符串。
大约 4 年之前 回复
doushenken2833
doushenken2833 我需要在$_POST或$_GET中获取数据,它始终为空。
大约 4 年之前 回复
duanemei2194
duanemei2194 它将请求写为二进制数据。那是你要的吗?或者是PHP应用程序期望JSON作为文本?
大约 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐