使用PostAsync发送httpcontent会导致内部服务器错误

时间:2016-08-15 15:24:57

标签: c# api http-post

要在PostAsync方法中以querystring方式发送数据,我使用以下方法。但我得到Inernal服务器错误。

ga(function(tracker) {
  var clientId = tracker.get('clientId');
});
ga('set', 'dimension1', clientId);

但是当我通过提琴手发送请求时,它的工作正常。这是我的小提琴请求

User-Agent:Fiddler

Content-Type:application / json;字符集= UTF-8

主持人:testapi.com

内容长度:93

授权:基本12fbe6e1f63d832aa33232323

发布数据 { “request_key”: “ABCD1234” “request_code”: “CODE”, “request_type”: “ID_TYPE” }

1 个答案:

答案 0 :(得分:0)

我使用以下方法实现了所需功能 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();