Używam oprogramowania Charles Web Debugging Proxy do debugowania żądań HTTP. Działa świetnie z moimi przeglądarkami na komputery, Chrome i Firefox, a nawet widzi żądania HTTP wysyłane przez inne programy.
Kiedy uruchamiam Charlesa i sprawdzam konfigurację sieci, myślę, że rozumiem, jak to działa - po prostu konfiguruje serwer proxy dla wszystkich żądań HTTP i HTTPS, a następnie nasłuchuje na porcie 8888:
Jednakże pozycja nie mogę dowiedzieć się, że nie widzę żadnych żądań, że inicjują w terminalu, takich jak wget
, curl
czy w elinks
przeglądarce.
Wiem, że mogę określić proxy za pomocą curl i wget za pomocą 127.0.0.1:8888, ale nie rozumiem, czy interfejs sieciowy jest skonfigurowany z proxy w konfiguracji, dlaczego musiałbym ręcznie dla nich określać proxy .
Nie mogę też sprawić, by BlueCrab (kopiarka internetowa) pojawił się w Charlesie - i nie widzę dla niego ustawień proxy - chociaż uważam, że używa opakowania XWindow lub czegoś takiego (więc to nie jest tak naprawdę natywny Aplikacja Cocoa / Carbon):
Jak mogę uzyskać wszystkie żądania HTTP w moim systemie, aby działały przez Charlesa?
Wyjaśnienie
Moje pytanie jest o podstawach systemowych dlaczego wget curl i nie korzystać z serwera proxy, gdy interfejs sieciowy został skonfigurowany do korzystania z jednego bardziej niż pytając o poprawnej składni curl
, wget
itp
wget za proxy (być może trzeba utworzyć plik rc) źródło
Dodaj następujący wiersz:
zwinąć za źródłem proxy
Dodaj następujący wiersz:
elinks za źródłem proxy
Znajdź swój
elinks.conf
plik za pomocą:Dodaj następujący wiersz:
Nie jestem pewien co do BlueCrab
źródło
Powodem, dla którego nie otrzymujesz proxy wszystkich żądań HTTP, jest to, że na poziomie systemu operacyjnego nie ma czegoś takiego jak „żądanie HTTP”; są tylko połączenia TCP. Kontakt z proxy HTTP oznacza nieznaczną zmianę żądania HTTP, a także skontaktowanie się z serwerem proxy zamiast hosta wymienionego w adresie URL, więc należy to zrobić w kodzie implementującym wysyłanie żądań HTTP.
curl i wget mają swój własny kod HTTP, który wykorzystuje własne pliki konfiguracyjne - nie zostały zaprogramowane do wyszukiwania ustawień proxy, w których zachowuje je Mac OS X, ani nie używają bibliotek HTTP dostarczonych z Mac OS X, które używają tych proxy ustawienia.
źródło
Jeśli nie chcesz dotykać plików konfiguracyjnych, za pomocą curl możesz wykonać:
curl http://example.com --proxy 127.0.0.1:8888
źródło