发送和接收';张贴';数据

本文关键字:张贴 数据 | 更新日期: 2023-09-27 18:24:12

不知道是否有人能帮助我,我试图实现的是将数据从一个站点发送到另一个站点:所以在我的"发送"站点中,我有一个运行以下内容的页面:

    string message;
    message = "DATA DATA DATA DATA!!!";
    System.Net.WebRequest request = WebRequest.Create("http://clt-umbraco.test.clt.co.uk/storereceive/?data-response");
    request.ContentType = "application/json";
    request.Method = "POST";
    request.Headers["X-Parse-Application-Id"] = "aaaaaaaaaaaaaaa";
    request.Headers["X-Parse-REST-API-Key"] = "bbbbbbbbbbbbbbb";
    byte[] buffer = Encoding.GetEncoding("UTF-8").GetBytes("{'"channels'": ['"'"], '"data'": { '"alert'": '" " + message + "'" } }");
    string result = System.Convert.ToBase64String(buffer);
    Stream reqstr = request.GetRequestStream();
    reqstr.Write(buffer, 0, buffer.Length);
    reqstr.Close();
    WebResponse response = request.GetResponse();
    //jsonString.Text = response;
    reqstr = response.GetResponseStream();
    StreamReader reader = new StreamReader(reqstr);
    jsonString.Text = reader.ReadToEnd();

在我的接收站点/页面上,我有以下页面加载:

    string[] keys = Request.Form.AllKeys;
    for (int i = 0; i < keys.Length; i++)
    {
        Response.Write(keys[i] + ": " + Request.Form[keys[i]] + "<br>");
    }

我可以看到这个页面加载事件正在启动,但Request.Form.Allkeys对象是空的,我希望它包含来自发送页面的数据。很明显,我在某个地方大错特错了。。。。有人能帮忙吗??

谢谢,Craig

发送和接收';张贴';数据

这是因为您不是在发布表单,而是在上传原始数据。

Set要求ContentType="application/x-www-form-urlencoded";

并填充您的帖子数据如下:

Key1=value1&key2=value2

您还应该考虑使用HttpServerUtility.UrlEncode 对值进行编码

如果你仍然不想发送原始数据,那么在服务器端,你应该读取传入的数据,比如:(而不是Request.Form[]

byte[] requestRawData = Request.BinaryRead(Request.ContentLength);