2016-11-08 18 views
9

私は、単純なHttpクライアントを開発して、Asp.Net Core Web APIを使用しています。 HttpHeaderCollectionを介してWeb APIにいくつかのHTTPヘッダー値を渡したいと思います。 .NET Frameworkの以前のバージョンで.Net CoreのHttpWebRequestにヘッダー値を追加する方法

WebHeaderCollection aPIHeaderValues = new WebHeaderCollection();   
aPIHeaderValues .Add("UserName","somevalue"); 
aPIHeaderValues .Add("TokenValue", "somevalue"); 
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); 
request.Headers.add(aPIHeaderValues); 
HttpWebResponse response = (HttpWebResponse)_request.GetResponse(); 

を以下のようにHttpHeaderCollectionにヘッダ値を追加することができしかし、ネットコア内request.Headersコレクションにヘッダーを追加する方法はありません。

SampleClass sampleClass= null; 
using (HttpClient client = new HttpClient()){ 
    client.DefaultRequestHeaders.Add("Authorization", "TOKEN"); 
    var data = await client.GetAsync("MY_API_URL"); 
    var jsonResponse = await data.Content.ReadAsStringAsync(); 
    if (jsonResponse != null) 
     sampleClass= JsonConvert.DeserializeObject<SampleClass>(jsonResponse); 
    return sampleClass; 
} 

答えて

4

は一例ですHttpWebRequestであり、HttpClientとは異なります。 HttpWebRequestを使用して
、あなたは単にあなたがこのようにしたいヘッダに割り当てます。それが存在しない場合は

request.Headers["HeaderToken"] = "HeaderValue"; 

.NETのコアは、ヘッダーを作成します。

9

質問はおよそ次のとおりです。私たちは新しいWebHeaderCollection

WebHeaderCollection aPIHeaderValues = new WebHeaderCollection(); 

を定義することによって、ヘッダを追加することはできませんだけでなく、ネットコアでこれを行うに任意の代替方法はあり

ここ
+5

あなたの投稿にタグラインを追加しないでください。それらの場所はあなたのユーザープロフィールにあります。 – DavidPostill

関連する問題