Sto effettuando una richiesta a un servizio RESTful di terza parte utilizzando Microsoft HttpClient
. Funziona perfettamente (ed è molto facile da implementare) tranne per questa istanza. Ecco un'analisi dal provider di ciò che sta accadendo durante l'errore:Microsoft.Http.HttpClient, invio corretto dei parametri di autenticazione HTTP sui reindirizzamenti
"Il modo in cui il POST al gruppo funziona risorsa è che quando completa, fa un reindirizzamento HTTP 302 al gruppo esempio risorsa. Ciò che sembra accadere è che il client HTTP invia le informazioni di autenticazione corrette al POST, che crea la risorsa gruppo, ma quando gestisce GET per la richiesta HTTP 302, non invia le credenziali corrette e sta ottenendo una risposta 401. Puoi controllare la tua libreria client e assicurarti che invii correttamente i parametri di autorizzazione HTTP ai reindirizzamenti? "
Ecco il mio CAP:
HttpClient http = new HttpClient(BASE_URL);
http.TransportSettings.Credentials = new NetworkCredential(ACCOUNT_SID,
ACCOUNT_TOKEN);
HttpResponseMessage httpResponse = http.Post(groupUri, "application/xml",
HttpContent.Create(xml.ToString()));
result = httpResponse.Content.ReadAsString();
che mi porta alla mia domanda; come posso ottenere i parametri di autenticazione da inviare su questo reindirizzamento GET utilizzando la classe HttpClient
?
Potrebbero essere i cookie che probabilmente usano per la loro sessione che non stai inviando (chiedi loro). Sarebbe strano richiedere le informazioni di accesso dopo ogni reindirizzamento (a meno che non venga redirato su una WebApp o un server diverso). –
- Jaroslav, sto aspettando la loro risposta sui cookie. per quanto riguarda l'invio, sei a conoscenza del modo corretto? Ho provato ad aggiungere questa riga: http.TransportSettings.Cookies = new CookieContainer(); senza fortuna ... – Drew
stai usando HttpClient dal kit di avviamento WCF REST? quale .net framework? HttpClient ha proprietà per controllare se seguire automaticamente i reindirizzamenti? (simile a HttpWebRequest.AllowAutoRedirect)? –