【发布时间】:2017-11-22 05:42:31
【问题描述】:
我正在使用 httpclient 调用端点,这对我来说很好。但我需要使用 restsharp restclient 对象调用端点。我怎样才能做到这一点?这是使用 http 客户端 postasync 对我有用的代码。
//输入参数和请求头
string userID = "testuser";
string memberId = "001";
string baseURL = "https://www.test.com";
string urlParameters ="TestServices/GetAll/{0}/{1}/{2}/{3}/{4}/{5}";
string contentType = "application/json";
string role = "USER";
string Caller = "PREVIEW";
string ticks = DateTime.Now.Ticks.ToString();
string systemId = "613e70b3-e3ec-4205-bcd6-094d6a9f7a41";
string encryptedToken = “XXXXXXXXXXXXXXXXXXXX”
string sessionID = "8303d34a-5c8a-4984-9bf9-4ba39be21352";
//要作为字符串内容发送的数据
string postData = "{\"TheContentAreas\":[{\"ControlTypeID\":\"230c5669-aa0d-41bc-9069-559b5e7d0ece\",\"PlaceholderID\":\"a16a471e-9416-43fc-8ceb-fddb97509e0c\"}]}";
string response = string.Empty;
//调用终点
HttpClient client = new HttpClient();
client.BaseAddress = new Uri(baseURL);
client.DefaultRequestHeaders.Add("Authorization", "XXXXXXXXXXXXXXXXXXXXXXX");
client.DefaultRequestHeaders.Add("Session", sessionID);
client.DefaultRequestHeaders.Add("EncryptedKey", encryptedToken);
try
{
HttpResponseMessage resp = client
.PostAsync(string.Format(urlParameters, role, systemId, Caller, ticks, userID, memberId),
new StringContent(postData, System.Text.Encoding.UTF8, "application/json")).Result;
if (resp.IsSuccessStatusCode)
{
response = resp.Content.ReadAsStringAsync().Result;
}
}
【问题讨论】:
-
在询问之前您是否尝试过使用 RestSharp 执行此操作?如果不是,为什么?
-
托德-为什么你的问题不像你试过这个?如果是,请在此处发布您的代码。 :) 。开玩笑。我已经解决了这个问题。发布我的解决方案。希望对您有所帮助。
标签: c# restsharp dotnet-httpclient