2015-08-23 9 views
5

ho il seguente codice, e voglio impostare l'autorizzazione della richiesta post per essere come questo:Set Autorizzazione intestazione di HttpClient

Authorization:key=somevalue

using (HttpClient client = new HttpClient()) 
{ 
    using (StringContent jsonContent = new StringContent(json)) 
    { 
     jsonContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); 

     using (HttpResponseMessage response = await client.PostAsync("https://android.googleapis.com/gcm/send", jsonContent)) 
     { 
      var reponseString = await response.Content.ReadAsStringAsync(); 
     } 
    } 
} 

Come fare questo? Sono davvero lottando e la seguente dichiarazione

client.DefaultRequestHeaders.Add("Authorization", "key=" + apiKey); 

gettato la seguente eccezione

Un'eccezione di tipo 'System.FormatException' avvenuto in System.Net.Http.dll, ma non è stata gestita in codice utente

+0

Sono state attivate le eccezioni della prima possibilità? Se è così, disattivali. –

+0

Preferirei usare 'FormUrlEncodedContent' per questo scopo, per inviare le chiavi e altre cose come se stessi inviando il modulo. https://msdn.microsoft.com/en-us/library/system.net.http.formurlencodedcontent%28v=vs.118%29.aspx –

risposta

14

Ho risolto questo con la seguente riga di codice.

client.DefaultRequestHeaders.Authorization = 
     new AuthenticationHeaderValue("key", "=" + apiKey); 
Problemi correlati