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.

Author: Ajish, 2009-12-03

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();
 13
Author: Darrel Miller,
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());
 4
Author: autonomatt,
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.

 1
Author: Mitchel Sellers,
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.

 0
Author: Mark Seemann,
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