有人可以建议如何使用以下作为请求参数发送 HTTP Post。
{
"key": "example key",
"message": {
"html": "<p>Example HTML content</p>",
"text": "Example text content",
"subject": "example subject",
"from_email": "[email protected]",
"from_name": "Example Name",
"to": [
{
"email": "[email protected]",
"name": "Recipient Name"
}
],
"headers": {
"Reply-To": "[email protected]"
},
"important": false,
"track_opens": null,
"track_clicks": null,
"auto_text": null,
"auto_html": null,
"inline_css": null,
"url_strip_qs": null,
"preserve_recipients": null,
"view_content_link": null,
"bcc_address": "[email protected]",
"tracking_domain": null,
"signing_domain": null,
"return_path_domain": null,
"merge": true,
"global_merge_vars": [
{
"name": "merge1",
"content": "merge1 content"
}
],
"merge_vars": [
{
"rcpt": "[email protected]",
"vars": [
{
"name": "merge2",
"content": "merge2 content"
}
]
}
],
"tags": [
"password-resets"
],
"subaccount": "customer-123",
"google_analytics_domains": [
"example.com"
],
"google_analytics_campaign": "[email protected]",
"metadata": {
"website": "www.example.com"
},
"recipient_metadata": [
{
"rcpt": "[email protected]",
"values": {
"user_id": 123456
}
}
],
"attachments": [
{
"type": "text/plain",
"name": "myfile.txt",
"content": "ZXhhbXBsZSBmaWxl"
}
],
"images": [
{
"type": "image/png",
"name": "IMAGECID",
"content": "ZXhhbXBsZSBmaWxl"
}
]
},
"async": false,
"ip_pool": "Main Pool",
"send_at": "example send_at"
}
我不知道如何使用 RestSharp
你好,
1)将您的 JSON 转换为 POCO(http://json2csharp.com/ 非常适合)。
2)
var yourobject = new MyObject{.....................};
var json = JsonConvert.SerializeObject(yourobject);
var client = new RestClient(url);
var request = new RestRequest(actionPath, Method.POST);
request .AddParameter("application/json; charset=utf-8", json, ParameterType.RequestBody);
请求 .RequestFormat = DataFormat.Json;
_client.ExecuteAsync(restRequest, response => ........);
也谢谢我!
对于后代,RestSharp 现在已经为此内置了方法。
查看RestRequest
的AddJsonBody()
方法
无论如何,这对于 RestSharp 105.0.1.0 及以后的版本都是正确的。
最有用的评论
你好,
1)将您的 JSON 转换为 POCO(http://json2csharp.com/ 非常适合)。
2)
var yourobject = new MyObject{.....................};
var json = JsonConvert.SerializeObject(yourobject);
var client = new RestClient(url);
var request = new RestRequest(actionPath, Method.POST);
request .AddParameter("application/json; charset=utf-8", json, ParameterType.RequestBody);
请求 .RequestFormat = DataFormat.Json;
_client.ExecuteAsync(restRequest, response => ........);