###前提・実現したいこと
C#でTwitterAPIを叩いてタイムラインの取得をしようとしています.
HttpClientクラスを使い,リクエストを送信しています.
###発生している問題・エラーメッセージ
レスポンス自体は帰ってきており,HttpResponseHeadのIsSuccessStatusCodeはTrueになっているのですが,レスポンスのボディ部分が,文字化けしており,どのように対処すれば良いのか分かりません.
###該当のソースコード
C#
1 var reqUrl = "https://api.twitter.com/1.1/statuses/user_timeline.json"; 2 3 var client = new HttpClient(); 4 client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/x-www-form-urlencoded")); 5 client.DefaultRequestHeaders.Add("Authorization", authHeader); 6 var response = await client.GetAsync(reqUrl); 7 8 var res = await response.Content.ReadAsStringAsync(); 9 10 if(response.IsSuccessStatusCode) { 11 Debug.WriteLine(res); 12 } 13 else { 14 Debug.WriteLine("むねん"); 15 }
###試したこと
Debug.WriteLineの部分を,Stringの代わりにStreamで取得したボディを使って,
C#
1 using(var sr = new StreamReader(res)) { 2 Debug.WriteLine(sr.ReadToEnd()); 3 }
とも書き換えてみたのですが,変わらない状態となっております.
ウォッチ機能を用いて中身を覗いてみると,一部エスケープされているようですが,エスケープと文字化けした部分が混在している状態となっており,それが原因でRegex.Unescape()も文字化けしている箇所でコケてしまう状態となっております.
###補足情報(言語/FW/ツール等のバージョンなど)
使用している開発環境は,VisualStudio2017で,空のプロジェクトを作成したままプロパティは変更せず,デフォルトの状態で開発をしております.
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。