Korzystaj z RESt API from.NET
Próbuję wykorzystać REST API z mojej aplikacji. NET. Wszystkie te API są napisane w Javie. Jestem proszony o przekazanie poświadczeń uwierzytelniania vis nagłówków HTTP. Jak mogę przekazać te poświadczenia uwierzytelniania, takie jak "data", "Autoryzacja" i "Akceptuj" za pomocą nagłówków HTTP.
Jakiej klasy w. NET mogę użyć do wykonania tego zadania. Czy ktoś może mi z tym pomóc?
Cała Twoja pomoc będzie doceniona.
Ajish.
4 answers
Update
Ta biblioteka została zastąpiona przez http://nuget.org/packages/Microsoft.Net.Http/2.1.10
Użyj Microsoft.Biblioteka klienta Http, która znajduje się w WCF REST Starter Kit Preview 2.
Oto jak możesz go użyć:
var client = new HttpClient();
client.DefaultHeaders.Authorization = new Credential("ArbitraryAuthHeader");
client.DefaultHeaders.Date = DateTime.Now;
client.DefaultHeaders.Accept.Add("application/xml");
var response = client.Get("http://example.org");
var xmlString = response.Content.ReadAsString();
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-07-03 19:44:24
Aby dodać trochę wartości do tego wątku (ja też szukałem sposobu, aby spożywać spokojny serwis i łatwo podać poświadczenia i natknąłem się na ten wątek ... Nie miałem wymogu "daty"), Aaron Skonnard napisał doskonały artykuł na temat korzystania z WCF REST Starter Kit o nazwie:
Zestaw Startowy WCF Rest Starter Kit dla programistów
Istnieje bardzo pouczająca sekcja dotycząca korzystania z usługi RESTful przy użyciu HttpClient. A oto fragment kodu aby porozmawiać z Twitterem:
HttpClient http = new HttpClient("http://twitter.com/statuses/");
http.TransportSettings.Credentials =
new NetworkCredential("{username}", "{password}");
HttpResponseMessage resp = http.Get("friends_timeline.xml");
resp.EnsureStatusIsSuccessful();
ProcessStatuses(resp.Content.ReadAsStream());
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-12-16 11:56:13
Istnieje wiele sposobów, aby to zrobić, ale korzystanie z obiektów WebRequest jest najszybsze, jeśli masz tylko kilka wywołań do wykonania.
Ta strona , ma świetny przegląd procesu.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-12-03 20:46:27
Pomimo nieco mylącej nazwy, ADO.NET Data Services (która jest częścią. NET 3.5) zawiera interfejsy API zarówno do ujawniania, jak i korzystania z usług opartych na REST. W Twoim przypadku możesz bezpiecznie zignorować część, która pozwala na ujawnienie usług i skoncentrować się na części klienta.
Obsługuje LINQ i wszelkiego rodzaju dobroć, pozwalając na odpytywanie usługi REST w następujący sposób:
var selectedOrders = from o in context.Orders
where o.Freight > 30
orderby o.ShippedDate descending
select o;
Jest o tym więcej tutaj . Spróbuj - byłem z niego bardzo zadowolony, więc daleko.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-12-03 21:03:16