2016-08-15 7 views
0

PostAsyncメソッドでクエリー文字列としてデータを送信するには、次の方法を使用しています。しかし、私はInernal Server Errorを取得しています。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) { 

        //} 
       } 
      } 

しかし、私はシオマネキ、その作業罰金を通じて要求を送信します。ここで

のUser-Agentは、私のシオマネキ要求である:フィドラー

のContent-Type:アプリケーション/ JSON。文字セット= UTF-8

ホスト:testapi.com

のContent-Length:93

認証:基本12fbe6e1f63d832aa33232323

ポストデータ: { "request_key": "ABCD1234" 、 "request_code": "CODE"、 "request_type": "ID_type"

+0

やシオマネキを使用していないトレースが何を使用して所望の機能を達成していますか? –

+0

基本的な承認は次のとおりです。承認:基本12fbe6e1f63d832aa33232323、トークンではありません –

答えて

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(); 
関連する問題