使用PostAsync发送httpcontent会导致内部服务器错误
问题描述:
要在PostAsync方法中以查询字符串的形式发送数据,我正在使用以下方法。但我得到了Inernal服务器错误。使用PostAsync发送httpcontent会导致内部服务器错误
HttpResponseMessage response;
string stringContent = "{ 'request_key': 'ABCD1234', 'request_code': 'CODE', 'request_type':'ID_type' }";
using(var client = new HttpClient()) {
client.BaseAddress = new Uri(SubscriptionUtility.GetConfiguration("BaseURI"));
client.DefaultRequestHeaders.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(SubscriptionUtility.GetConfiguration("ContentType")));
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", SubscriptionUtility.GetConfiguration("BasicAuthentication"));
response = await client.PostAsync(SubscriptionUtility.GetConfiguration("SubscriptionAPI"), stringContent, new JsonMediaTypeFormatter());
if(response.IsSuccessStatusCode) {
var dataObjects = JsonConvert.DeserializeObject<List<TestClass>>(response.Content.ReadAsStringAsync().Result);
//foreach(var d in dataObjects) {
//}
}
}
但是当我通过fiddler发送请求时,它的工作正常。这里是我的小提琴手要求
的User-Agent:提琴手
内容类型:应用程序/ JSON的;字符集= UTF-8
主机:testapi.com
的Content-Length:93
授权:基本12fbe6e1f63d832aa33232323
邮政数据: { “request_key”: “ABCD1234” , “request_code”:“CODE”, “request_type”:“ID_type” }
答
我已经实现了用以下方法 Post Request
using(var client = new HttpClient()) {
client.BaseAddress = new Uri(SubscriptionUtility.GetConfiguration("BaseURI"));
client.DefaultRequestHeaders.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(SubscriptionUtility.GetConfiguration("ContentType")));
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", SubscriptionUtility.GetConfiguration("BasicAuthentication"));
var values = new Dictionary<string, string>
{
{ "request_key", "ABCD1234" },
{ "request_code", "CODE" },
{ "request_type", "ID_type" }
};
var content = new FormUrlEncodedContent(values);
var response = await client.PostAsync(SubscriptionUtility.GetConfiguration("SubscriptionAPI"), content);
var responseString = await response.Content.ReadAsStringAsync();
,什么是不使用招当跟踪的欲望的功能? –
fyi基本授权将授权:基本12fbe6e1f63d832aa33232323,不是令牌 –