Basic Authentication w HttpSendRequestEx

3 stycznia 2008

Miałem dziwny problem z WinInet. Nie chciało mi działać poprawnie Basic Authentication przy wysyłaniu requesta przez HttpSendRequestEx. Mimo, iż przy łączeniu dane niezbędne do autoryzacji zostały podane w InternetConnect,  w wysyłanych nagłówkach na darmo było szukać linii zaczynającej się od:

Authorization: Basic ...

Pozostało poszukać w sieci jakiegoś rozwiązania. Sam Microsoft proponuje rozwiązanie tego problemu w następujący sposób: How to use HttpSendRequestEx with password-protected URLs.

Oczywiście w HttppSession dorzuciłem tylko HttpSendRequest do metody RequestPostMpfd i zaczęło wszystko działać.

Ale…
No właśnie zawsze jest jakieś ale. Przed docelowym wysłaniem HttpSendRequestEx, do serwera leci to puste HttpSendRequest. No cóż, mogliby to jakoś rozwiązać, a póki co będę musiał się tym zadowolić.

Problem ten objawiał się tym, że HttpEndRequest zwracało błąd ERROR_INTERNET_FORCE_RETRY (12023)  co trochę mnie dziwiło. W sumie nadal dziwi mnie ten problem z autoryzacją, bo wydaje mi się, że ten kod kiedyś działał :P

Podobne notatki:

Może zainteresują Cię również następujące, pododbne notatki:

Nikt jeszcze nie skomentował tego wpisu.
Możesz być pierwszy.

Dodaj swój komentarz

Możesz użyć tych tagów XHTML-a: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Jeśli chcesz wstawić kilku linijkowy fragment kodu, użyj tagów <pre lang="x"></pre> (gdzie x język kodu np. cpp, perl, html). W ten sposób kod zostanie odpowiednio sformatowany i pokolorowany przez system.

Uwaga!

Na tym blogu działa system cache oraz filtr antyspamowy. Twój komentarz może być widoczny na stronie z pewnym opóźnieniem. Proszę o cierpliwość. Jeśli utraciłeś już wszystkie jej zasoby poinformuj mnie o tym, być może system uznał Cię za spamera ;)