Power Query nie czyta 2%F w URL

0

Cześć,

mam ustawiony glassfish lokalnie przez developera i teraz używam Power Query z Excela aby zaciagnac tabele z CSVki.
Wszystko działa poprawnie jesli url jest jak:

http://localhost:8080/BundleService-1.0.0/v1/bundles/data/analytics/1.0.0/Versions/Versions

ale jesli mam 2%F jak tutaj:

http://localhost:8080/BundleService-1.0.0/v1/bundles/data/analytics2%Ffinance/1.0.0/Versions/Versions

wywala błąd datasource.
Dlaczego? Czy ktoś uzywa tutaj PQ i podpowie?

Dziekuje,
Jacek

0

Co to 2%F?

3

% w urlu to informacja, że dalej nastąpi szesnastkowy kod znaku. Jeśli chcesz w urlu umieścić % jako taki, to musisz go zakodować jako: %25.

0

Skąd masz tego urla?

0

Developer to zakodował w javie w glassfishu. Właśnie tego 16 kodu znaku nie wysyła PowerQuery

0
jaryszek napisał(a):

Developer to zakodował w javie w glassfishu. Właśnie tego 16 kodu znaku nie wysyła PowerQuery

Bo w: analytics2%Ffinance masz kod %Ff, a to nie jest prawidłowy kod znaku w url-u.
Sprawdź sobie:
https://www.urldecoder.org/

0

Cześć,

dzięki. Ale url normalnie działa w Chrome. To PowerQuery ma problem.

Niektórzy używają takich linków bo widziałem że nawet jest w M opcja metoda escapeStringfromURL ktory zamienia na takie znaki.
Ale w drugą stronę nic nie ma,

Jacek

1
jaryszek napisał(a):

Cześć,

dzięki. Ale url normalnie działa w Chrome. To PowerQuery ma problem.

Niektórzy używają takich linków bo widziałem że nawet jest w M opcja metoda escapeStringfromURL ktory zamienia na takie znaki.
Ale w drugą stronę nic nie ma,

no ale co znaczy takich?Ten link jest niepoprawny - ktoś ci chyba wysłał zły link - wygląda że po tym %F a przed fiance powinno coś być ale zostało skasowane - najlepiej kjak by ci ktoś podesłał normalny link nie zakodowany.

A zobacz czy taki link ci działa: http://localhost:8080/BundleService-1.0.0/v1/bundles/data/analytics/finance/1.0.0/Versions/Versions

0

UglyMan dlaczego uzywa sie encodingu w URLach masz tutaj:

https://stackoverflow.com/questions/4667942/why-should-i-use-urlencode

Link jest poprawny bo działa w chrome. A działa to tak ze serwer dostaje link encoded i zamienia na "/" - czyli dekoduje automatem.
Power query ma z tym problem. Wysyła ten 2%F ale server tego nie czyta.

Tak jakby PQ zamieniał to z automatu na "/" i wtedy server nie dziala bo powinine dostac ten string z 2%F.

Link z "/" zamiast @F% nie dziala

Pozdrowienia,
Jacek

1
jaryszek napisał(a):

Link jest poprawny bo działa w chrome.

Wstrzymał bym się z oceną poprawności "na podstawie praktyki w przeglądarce X".
Branża przeglądarkowa jest pełna tole ... powiem więcej, jest jednym wielkim tolerowaniem błędów

(wypowiedź ogólna, meritum zostawiam lepszym od siebie)

2

@jaryszek: Znak "/" po zakodowaniu to %2F (zobacz https://www.urlencoder.org/), a nie 2%F - wiec gdzieś masz babola.

0

No to zrób replace: https://community.powerbi.com/t5/Desktop/How-to-decode-URL-component-using-M-Language/m-p/1250428#
Po pierwsze zobacz czy ci działa link z "/".

1

@jaryszek:

jaryszek napisał(a):

dzięki. Ale url normalnie działa w Chrome. To PowerQuery ma problem.

Bo Chrome zapewne przetwarza ten zapis i co innego ci wyświetla w pasku adresu, a pod inny adres tak naprawdę wysyła żądanie. Na podobnej zasadzie, jak sobie wpiszesz w pasku adresu ąę to serwer odpytany zostanie o %C4%85%C4%99.

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