【问题标题】:send Http request with Content Type application Json on C#在 C# 上使用 Content Type 应用程序 Json 发送 Http 请求
【发布时间】:2013-07-11 16:17:26
【问题描述】:

我正在尝试通过 C# 发送内容类型为 application/json 的 HTTP Get 请求。但我不知道如何创建这个请求。 我的 HTTP 请求是这样的:

POST /messaging/registrations/(REGISTRATION_ID_FOR_DESTINATION_APP_INSTANCE)/messages HTTP/1.1
Host: api.amazon.com
Authorization: Bearer (MY_ACCESS_TOKEN)
Content-Type: application/json
X-Amzn-Type-Version: com.amazon.device.messaging.ADMMessage@1.0
Accept: application/json
X-Amzn-Accept-Type: com.amazon.device.messaging.ADMSendResult@1.0

{
    "data":{"key1":"value1","key2":"value2"},
    "consolidationKey":"Some Key",
    "expiresAfter":86400
}

请有人帮助我。 为所有人着想。

【问题讨论】:

    标签: c# asp.net httpwebrequest amazon-device-messaging


    【解决方案1】:

    假设你有一个这样的类来表示有效负载,

    class Payload
    {
            public Dictionary<string, string> data { get; set; }
            public string consolidationKey { get; set;}
            public long expiresAfter { get; set; }
    }
    

    你可以像这样使用HttpClient

    string url = "http://api.amazon.com/messaging/registrations/1234/messages";
    var client = new HttpClient();
    
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(
                                                  "Bearer", "token");
    client.DefaultRequestHeaders.Accept.Add(
                  new MediaTypeWithQualityHeaderValue("application/json"));
    client.DefaultRequestHeaders.Add("X-Amzn-Type-Version",
                                       "com.amazon.device.messaging.ADMMessage@1.0");
    client.DefaultRequestHeaders.Add("X-Amzn-Accept-Type",
                                    "com.amazon.device.messaging.ADMSendResult@1.0");
    
    var kvp = new Dictionary<string, string>();
    kvp.Add("key1", "value1");
    kvp.Add("key2", "value2");
    
    var payload = new Payload()
    {
        consolidationKey = "Some Key", expiresAfter = 86400, data = kvp
    };
    
    var result = client.PostAsJsonAsync<Payload>(url, payload).Result;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-30
      相关资源
      最近更新 更多