简体   繁体   English

将C#请求Web服务与标头和正文一起使用

[英]Use C# request web service with header and body

I am using GMC to send a message to an Android phone from C#. 我正在使用GMC从C#向Android手机发送消息。

link: https://android.googleapis.com/gcm/send 链接: https//android.googleapis.com/gcm/send

Method: POST 方法:开机自检

Header: 标头:

Authorization: key=AIzaSyCPNaU7Pn6csAKxXQHJXSprwWjO0JWaFsw

Body: 身体:

{
    "registration_ids": [
        "APA91bEzrLAiphAldxy6lSpSO503YaNm7CCng5uLzGRFWw93dwQIKfisdioyTY2Y0AyJrV81DHd8afBvmOi_KWgMcQKLFwCXJR8vLzuu2_nijBBu9kXRmcBDAGdwTMq9PQ5QPRWDcHh3PGFViTs4lC2DysiRLykASvV25ivY7Vwl_EvNZgcnqkmDM"
    ],
    "data": {
        "price": "Nguyễn Anh Quế. hehe"
    }
}

I have tried it from web with success but in C# I don't know how to do it. 我已经从Web上成功尝试了它,但是在C#中我不知道该怎么做。

Like this: 像这样:

string postData = "{ \"registration_ids\": [ \"APA91bEzrLAiphAldxy6lSpSO503YaNm7CCng5uLzGRFWw93dwQIKfisdioyTY2Y0AyJrV81DHd8afBvmOi_KWgMcQKLFwCXJR8vLzuu2_nijBBu9kXRmcBDAGdwTMq9PQ5QPRWDcHh3PGFViTs4lC2DysiRLykASvV25ivY7Vwl_EvNZgcnqkmDM\" ], \"data\": { \"price\": \"Nguyễn Anh Quế. hehe\" } }";

var request = (HttpWebClient)WebClient.Request("https://android.googleapis.com/gcm/send");
request.Method="POST";
request.ContentType = "application/x-www-form-urlencoded";
byte[] byteArray = Encoding.UTF8.GetBytes (postData);
request.ContentLength = byteArray.Length;
Stream dataStream = request.GetRequestStream ();
dataStream.Write (byteArray, 0, byteArray.Length);
dataStream.Close ();
var response = (HttpWebRequest)request.GetResponse ();
// response contains the response
string postData = "{ \"registration_ids\": [ \"APA91bEzrLAiphAldxy6lSpSO503YaNm7CCng5uLzGRFWw93dwQIKfisdioyTY2Y0AyJrV81DHd8afBvmOi_KWgMcQKLFwCXJR8vLzuu2_nijBBu9kXRmcBDAGdwTMq9PQ5QPRWDcHh3PGFViTs4lC2DysiRLykASvV25ivY7Vwl_EvNZgcnqkmDM\" ], \"data\": { \"price\": \"Nguyễn Anh Quế. hehe\" } }";

        var request = (HttpWebRequest)WebRequest.Create("https://android.googleapis.com/gcm/send");
        request.Method = "POST";
        request.Headers.Add("Authorization: key=AIzaSyCPNaU7Pn6csAKxXQHJXSprwWjO0JWaFsw");
        request.ContentType = "application/json";
        byte[] byteArray = Encoding.UTF8.GetBytes(postData);
        request.ContentLength = byteArray.Length;
        Stream dataStream = request.GetRequestStream();
        dataStream.Write(byteArray, 0, byteArray.Length);
        dataStream.Close();
        var response = request.GetResponse();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM