Pobieranie kursów z NBP

0

Cześć,
próbuję w aplikacji Blazor pobrać kurs waluty ze strony NBP ( http://api.nbp.pl/ ), niestety wywala mi wyjątek: "TypeError: NetworkError when attempting to fetch resource.".

Kod jest następujący:

	public class Rate
		{
		public string no { get; set; }
		public string effectiveDate { get; set; }
		public double mid { get; set; }
		}

	public class Nbp
		{
		public string table { get; set; }
		public string currency { get; set; }
		public string code { get; set; }
		public List<Rate> rates { get; set; }
		}

//...
var test = await Http.GetFromJsonAsync<Nbp>(new Uri("http://api.nbp.pl/api/exchangerates/rates/A/EUR/2020-12-15/?format=json")); //tutaj próbowałem wielu różnych opcji

Czy może mnie ktoś naprowadzić gdzie robię błąd?
Z góry dziękuję za pomoc.

1

@Kofcio: Prawdopodobnie to przez CORS. Trzeba go odpowiednio skonfigurować.

1
maszrum napisał(a):

@Kofcio: Prawdopodobnie to przez CORS. Trzeba go odpowiednio skonfigurować.

Albo wysłać request do API ze strony serwera a nie klienta

0

Poprawcie mnie jeśli się mylę, ale CORS dotyczy zabezpieczeń po stronie serwera a nie klienta - więc nie mogę tego wyłączyć gdy mam aplikację w blazor wasm?
Czy da się pobrać dane z NBP bezpośrednio z aplikacji klienta bez pośredniczenia przez serwer?

1
Kofcio napisał(a):

Poprawcie mnie jeśli się mylę, ale CORS dotyczy zabezpieczeń po stronie serwera a nie klienta - więc nie mogę tego wyłączyć gdy mam aplikację w blazor wasm?

To działa w taki sposób, że backend (serwer) wysyła do przeglądarki specjalny nagłówek, który pozwala lub nie pozwala wykonywać zapytania do innych (niż backend) serwerów. Na przykład twój serwer wyśle do przeglądarki nagłówek: Access-Control-Allow-Origin: "https://some-website.pl". Wtedy twoja aplikacja w Blazorze może już wysyłać zapytania do serwera pod tym adresem. To wszystko dzieje się pod spodem, w przeglądarce, Blazor nic o tym nie wie.

(a przynajmniej ja to tak rozumiem, niech ktoś poprawi jeśli jestem w błędzie)

1 użytkowników online, w tym zalogowanych: 0, gości: 1