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