.Net核心表格数据到uri

时间:2017-03-17 14:33:57

标签: asp.net-core

如何将表单数据发布到.Net Core中的外部URL?例如,如果我想重新创建此示例请求:

POST 
Url: www.googleapis.com/oauth2/v4/token
Content-Type: application/x-www-form-urlencoded

code=4/P7q7W91a-oMsCeLvIaQm6bTrgtp7&
client_id=ABCD1234&
client_secret=XYZ1234&
redirect_uri=https://test.example.com/code&
grant_type=authorization_code

我找到了一个示例here,它显示了发布JSON的示例,但没有表单数据。

1 个答案:

答案 0 :(得分:3)

可以使用 Microsoft.AspNet.WebApi.Client 包中的HttpClient以及使用FormUrlEncodedContent来完成此操作:

IList<KeyValuePair<string, string>> nameValueCollection = new List<KeyValuePair<string, string>> {
    { new KeyValuePair<string, string>("code", "4/P7q7W91a-oMsCeLvIaQm6bTrgtp7") },
    { new KeyValuePair<string, string>("client_id", "ABCD1234") },
    { new KeyValuePair<string, string>("client_secret", "XYZ1234") },
    { new KeyValuePair<string, string>("redirect_uri", "https://test.example.com/code") },
    { new KeyValuePair<string, string>("grant_type", "authorization_code") },
};

client.PostAsync("www.googleapis.com/oauth2/v4/token", new FormUrlEncodedContent(nameValueCollection));