如何在C#中执行以下curl请求?
我找了很多遍都筋疲力尽了,但还是不知道如何在C#中执行以下curl请求?,c#,visual-studio,curl,request,C#,Visual Studio,Curl,Request,我找了很多遍都筋疲力尽了,但还是不知道 curl -X GET --header "Accept: application/json" --header "app_id: yyyyyyyy" --header "app_key: xxxxxxxxxxxxxxxxxxxxxxxxxxx" "https://od-api.oxforddictionaries.com:443/api/v1/inflections/en/changed" 给你: var client = new HttpClient
curl -X GET --header "Accept: application/json" --header "app_id: yyyyyyyy" --header "app_key: xxxxxxxxxxxxxxxxxxxxxxxxxxx" "https://od-api.oxforddictionaries.com:443/api/v1/inflections/en/changed"
给你:
var client = new HttpClient();
client.BaseAddress = new Uri("https://od-api.oxforddictionaries.com:443/api/v1");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Add("app_id", "yyyyyyyy");
client.DefaultRequestHeaders.Add("app_key", "xxxxxxxxxxxxxxxxxxxxxxxxxxx");
var response = await client.GetAsync("/inflections/en/changed");
它使用并且需要在async
方法中
尽管HttpClient
实现了IDisposable
,但最好的做法是重用实例,而不是处置它
如果您使用的是.NET 4.0及更低版本,则可以使用较旧的HttpWebRequest
API:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://od-api.oxforddictionaries.com:443/api/v1/inflections/en/changed");
request.Accept = "application/json";
request.Headers.Add("app_id", "yyyyyyyy");
request.Headers.Add("app_key", "xxxxxxxxxxxxxxxxxxxxxxxxxxx");
var response = (HttpWebResponse)request.GetResponse();
给你:
var client = new HttpClient();
client.BaseAddress = new Uri("https://od-api.oxforddictionaries.com:443/api/v1");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Add("app_id", "yyyyyyyy");
client.DefaultRequestHeaders.Add("app_key", "xxxxxxxxxxxxxxxxxxxxxxxxxxx");
var response = await client.GetAsync("/inflections/en/changed");
它使用并且需要在async
方法中
尽管HttpClient
实现了IDisposable
,但最好的做法是重用实例,而不是处置它
如果您使用的是.NET 4.0及更低版本,则可以使用较旧的HttpWebRequest
API:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://od-api.oxforddictionaries.com:443/api/v1/inflections/en/changed");
request.Accept = "application/json";
request.Headers.Add("app_id", "yyyyyyyy");
request.Headers.Add("app_key", "xxxxxxxxxxxxxxxxxxxxxxxxxxx");
var response = (HttpWebResponse)request.GetResponse();
如果您使用的是.Net 4.5+,则还可以使用
HttpClient
和异步方法:
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Add("app_id", @"yyyyyyyy");
client.DefaultRequestHeaders.Add("app_key", @"xxxxxxxxxxxxxxxxxxxxxxxxxxx");
var response = await client.GetAsync("https://od-api.oxforddictionaries.com:443/api/v1/inflections/en/changed");
if (response.IsSuccessStatusCode)
{
//Do your thing
}
}
如果您使用的是.Net 4.5+,则还可以使用
HttpClient
和异步方法:
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Add("app_id", @"yyyyyyyy");
client.DefaultRequestHeaders.Add("app_key", @"xxxxxxxxxxxxxxxxxxxxxxxxxxx");
var response = await client.GetAsync("https://od-api.oxforddictionaries.com:443/api/v1/inflections/en/changed");
if (response.IsSuccessStatusCode)
{
//Do your thing
}
}
我真不敢相信我不知道那个阶级不存在。从未注意到它被添加。感谢HttpClient课程!很高兴我能帮上忙,如果这对你或OP有帮助的话,请随意投票/接受=)我真不敢相信我不知道这个类是不存在的。从未注意到它被添加。感谢HttpClient课程!很高兴我能帮忙,如果这对你或OP有帮助的话,请随意投票/接受=)