Basic Authentication w HttpSendRequestEx

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

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *