2017-01-23 4 views
1

JSONとC#(HttpWebRequest)を使用しています。基本的には、JSONをAPI RESTからダウンロードするアプリケーションがありますが、ダウンロードするとJSONにデータが欠落してしまい、構造が間違っていると思われます。私が開発しているのと同じことをするソフトウェアを使用すると、この問題は起こりません。もし私が何か不足しているなら、それは私のコードで何かであると確信しています。ここに私のコードです:JSON形式がC#(HTTPWEBREQUEST)を使用してデータが欠落して返されています

 var httpWebRequest = (HttpWebRequest)WebRequest.Create("MyURL"); 
     httpWebRequest.ContentType = "application/json"; 
     httpWebRequest.Method = "GET"; 
     string authInfo = "user" + ":" + "pass"; 
     authInfo = Convert.ToBase64String(Encoding.Default.GetBytes(authInfo)); 
     httpWebRequest.Headers["Authorization"] = "Basic " + authInfo; 


     // Create the HttpContent for the form to be posted.   

     var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); 


     using (var sr = new StreamReader(httpResponse.GetResponseStream(), Encoding.UTF8)) 
     { 

      StreamWriter sw = new StreamWriter(@"C:\test\Stores.txt"); 

      sw.Write(sr.ReadToEnd()); 
     } 
+0

あなたが提供した情報は、完全な回答を与えるには不十分です。期待しているJSOnとJSONを手に入れられますか? – Dhanuka777

答えて

0

私のコードでthis.itsを試すことができます。

public static async Task MethodName() 
    { 

     using (HttpClientHandler handler = new HttpClientHandler() { UseCookies = false }) 
     { 
      using (HttpClient httpClient = new HttpClient(handler)) 
      { 

       httpClient.DefaultRequestHeaders.Authorization = Program.getAuthenticationHeader(); 
       string filterQuery = Program.getURI().ToString(); 

       using (HttpResponseMessage httpResponse = await httpClient.GetAsync(filterQuery).ConfigureAwait(false)) 
       { 

        var streamContent = await httpResponse.Content.ReadAsStreamAsync(); 
        FileStream fs = new FileStream("C:\test\Stores.Json", FileMode.Create); 
        streamContent.CopyTo(fs); 
        streamContent.Close(); 
        fs.Close(); 

       } 
      } 
     } 
    } 
+0

ありがとう、それは私のために働いた! – Fernando

+0

あなたはようこそです! – myadav

0

これは、Httpリクエスト(GET)に問題がある可能性があります。 ステップ1 - APIに対応したソフトウェアをお持ちの場合は、Fiddlerを使用して、送信するhttp GETリクエストを分析します。ヘッダー情報も確認する必要があります。 ステップ2 - 作成したHttpRequestとHttp要求を比較します。パラメーターなどが欠けている可能性があります。

関連する問題