如何将表单数据发布到.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的示例,但没有表单数据。
答案 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));