我正在用 C# 设置简单的控制台应用程序以进行一些 API 集成。我需要使用带有 带有 XML 数据的 POST 请求作为请求正文并使用 基本身份验证的 API。
我能够通过基本身份验证使用 API 进行检索,但我不确定如何通过具有基本身份验证的帖子使用 API。
SomeClass{
private NetworkCredential credentials = null;
private HttpClientHandler handler = null;
SomeClass(){ //Constructor
credentials = new NetworkCredential("ID", "PASS");
handler = new HttpClientHandler { Credentials = credentials};
}
public async Task<HttpResponseMessage> PutMessage(your data)
{
var root= new
{
rootObj = data
};
var jsonObj = JsonConvert.SerializeObject(root);
var doc = JsonConvert.DeserializeXmlNode(jsonObj);
HttpResponseMessage response = null;
try
{
var httpContent = new StringContent(doc.InnerXml.ToString(), Encoding.UTF8, "application/xml");
HttpClient httpClient = new HttpClient(handler);
response = await httpClient.PostAsync(APIURL, httpContent);
if (!response.IsSuccessStatusCode)
return response;
}
catch (Exception ex)
{
return "Return Error Message";
}
}
}