technikalia

Technika w czystej postaci, wpisy nie tylko o hackowaniu, programowaniu i elektronice...

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 sposób opisany tutaj: How to use HttpSendRequestEx with password-protected URLs. Oczywiście w HttpSession dorzuciłem tylko HttpSendRequest do metody RequestPostMpfd i wszystko zaczęło działać.

Czytaj dalej

Plugin WP-Pinger 0.1

Poprawiłem trochę kod i mogę udostępnić publicznie wtyczkę do WordPressa integrującą go z serwisem pinger.pl. Wtyczka WP-Pinger wyświetla ostatnie 10 wiadomości z minibloga na pinger.pl na naszym blogu opartym na WordPressie. Aktualna wersja 0.1 do pobrania z projects.malcom.pl. Jeśli będzie jakieś zainteresowanie wtyczką, to niewykluczone, że powstanie jakieś proste GUI i kilka nowych opcji. Wtyczka do działania wymaga PHP5 (SimpleXML) oraz włączonego rozszerzenia CURL. Użycie jest bardzo proste, po włączeniu wtyczki w PA, należy w szablonie w miejscu gdzie chcemy wyświetlić posty z pingera wstawić poniższy kod:

Czytaj dalej

Małe odświeżenie...

Jak już wspominałem na mini, strona główna MalDevBloga przeszła małe odświeżenie. Dodatkowo zintegrowałem sobie WP z moim mini-blogiem na pinger.pl. Może integracja to za wielkie tutaj słowo, bo w końcu na razie to tylko wyświetlanie notek z minibloga na devblogu, ale zawsze coś. Teraz nie będę “zaśmiecał” sobie devbloga i bazy małymi, krótkimi wpisami o byle czym… Na więcej zmian nie mam aktualnie czasu i chęci, ale prędzej czy później one nastąpią… są w planach, gorzej z resztą ;)

Czytaj dalej

Pingerek 0.6

Właśnie wypuściłem nową wersję beta wtyczki Pingerek ;) Changelog wersji 0.6 beta: ostatnie wiadomości znajomych; nowy config i okno opcji; poprawne reakcje na zmiany w opcjach; kontakt z komunikatami o błędach; zapamiętywanie ro/zwinięć grup i sekcji; poprawienie stabilności; Myślałem nad tym configiem w XML-u, ale wtedy zamiast 15 linijek kodu byłoby 15^15, więc zostałem przy pliku ini. Za to dialog opcji się nieco rozbudował ;) Wtyczka już nie powinna wywalać komunikatora w jakichkolwiek niespodziewanych sytuacjach ;)

Czytaj dalej

Klasa HttpSession

Do bibliotek pisanych w C++ typu grono, pinger i blip potrzebowałem jakiejś prostej i obiektowej obsługi sieci, sesji HTTP. Oczywiście nie będę się męczył z gołym WinAPI. A także, aby w jakimś stopniu zapewnić przenośność głównej biblioteki, w jakich będzie wykorzystywana sieć, zaimplementowałem sobie prostą klasę HttpSession ;) Korzysta ona z WinINet, więc sama obsługa sieci nie jest crossplatformowa, ale każdy kto będzie chciał użyć docelowej biblioteki wykorzystującej HttpSession na innej platformie, sam sobie będzie musiał taką obsługę sieci zaimplementować, zachowując jedynie publiczny interfejs tej klasy.

Czytaj dalej

Typ MIME z nazwy pliku

Szukałem jakiejś prostej funkcji lub metody pobrania typu MIME dla pliku mając jego nazwę lub rozszerzenie. Niestety nic ciekawego nie znalazłem na MSDN-ie, żadnej WinAPI-owskiej funkcji do tego celu, jedynie GetContentTypeFromFileName z ATL-owego serwera. No cóż trzeba było coś samemu sklecić, a raczej to chyba bardziej przeportować w/w funkcję na czyste WinAPI. Bo znając już tę prostą metodę, jak to zrobić, nowej implementacji już raczej nie będę wymyślał ;) std::string GetContentTypeFromFileName(const std::string& filename) { // default to application/octet-stream std::string content = "application/octet-stream"; // get the file extension char szExt[_MAX_EXT]; _splitpath(filename.

Czytaj dalej

Plugin Pingerek

Pingerek to alternatywa dla oficjalnego “super” pluginu integrującego serwis pinger.pl z komunikatorem Tlen.pl. Właśnie opublikowałem wersję 0.5 beta. Aktualnie wtyczka posiada podstawową funkcjonalność: wyświetlenie znajomych; ostatnie wiadomości; publikacja wiadomości (bez grafiki); obcinanie zbyt długi opisów; Planowane funkcje i dodatki: ostatnia wiadomość w opisie znajomych; ostatnie wiadomości znajomych (osobno - lub opcja do ostatnich wiadomości); dołączanie grafiki do wiadomości; avatary i menu pod kontaktami (gdy w tlenku kiedyś zrobię kilka rzeczy ;p); dodawanie komentarzy i jakieś tam podobne pierdoły; zmiana configu na xml (może); nowe ikonki; Jest to wersja beta, dlatego niektóre widoczne opcje są niedostępne lub nie działają zgodnie z zamierzeniem.

Czytaj dalej

Gadu Radio 1.9

Nowa wersja wtyczki Gadu Radio dla komunikatora Tlen.pl. Miałem (nie miałem) chwilkę czasu to wprowadziłem kilka poprawek ;) Changelog dla wersji 1.9: dodano obsługę kanałów/kontaktów powyżej 400; usunięto rozszerzone parsowanie tytułów; poprawiono i zoptymalizowano kilka fragmentów kodu; Obecnie za kanały Gadu Radia uznawane są wszystkie kontakty 3 cyfrowe (1-999), więc nie powinno być już problemów z pobieraniem tytułów z tychże kanałów. Uwaga! Zmienił się plik konfiguracyjny i jego lokalizacja. Obecnie powinien znajdować się w podkatalogu PluginConfig katalogu naszego profilu.

Czytaj dalej

Mini-Blog

Hah! Wiem już do czego przyda mi się ten twitter-owy klon w wydaniu o2 ;) Napiszę sobie wtyczkę do WordPressa i będę miał fajny, niezależny miniblog na devBlogu. Powiedzmy 10 ostatnich wiadomości. Nie będę musiał kombinować i trzymać tych danych u siebie, jak niektórzy robią (nie licząc tych desperatów, co zakładają specjalnie nowego joggera, aby na głównym jogu mieć mini). Do tego jakiś prosty bot na xmpp lub tlenie do wygodnego i łatwego dodawania notek.

Czytaj dalej

Pinger.pl

Firma o2.pl uruchomiła swój klon twittera - pinger.pl. Pewnie chcą za konkurować z gg-owskim blipem. Założyłem sobie nawet konto na pingerze, ale nadal nie jestem przekonany do tego mini/micro blogowania, twittera, blipa, moblo i całej rzeszy tego typu serwisów. Jakoś nie czuję potrzeby korzystania z takich cudów. Do tej pory serwisy te nie potrafią wygenerować zysków i zarobić, więc można się dziwić powstawaniu kolejnych klonów, chyba, że ktoś ma jakąś wizję i pomysł na zarobienie ;) Przekonamy się o tym za jakiś czas.

Czytaj dalej