Saya menggunakan perangkat lunak Charles Web Debugging Proxy untuk men-debug permintaan HTTP. Ini berfungsi baik dengan browser desktop saya, Chrome dan Firefox, dan bahkan melihat permintaan HTTP yang dibuat oleh program lain.
Ketika saya menjalankan Charles dan memeriksa konfigurasi jaringan, saya pikir saya mengerti cara kerjanya - itu hanya mengatur proxy untuk semua permintaan HTTP dan HTTPS dan kemudian mendengarkannya di port 8888:
Namun item saya tidak tahu adalah bahwa saya tidak melihat permintaan yang saya memulai di Terminal, seperti wget
, curl
, atau elinks
browser.
Saya tahu bahwa saya dapat menentukan proxy dengan curl dan wget dengan menggunakan 127.0.0.1:8888, tapi saya tidak mengerti jika antarmuka jaringan diatur dengan proxy dalam konfigurasi mengapa saya perlu menentukan proxy secara manual untuk mereka .
Saya juga sepertinya tidak bisa mendapatkan BlueCrab (mesin fotokopi situs web) untuk muncul di Charles juga - dan saya tidak melihat pengaturan proxy untuk itu - meskipun saya percaya itu menggunakan pembungkus XWindow atau sesuatu (jadi itu bukan benar-benar asli Aplikasi Kakao / Karbon):
Bagaimana saya bisa mendapatkan semua permintaan HTTP di sistem saya untuk dijalankan melalui Charles?
Klarifikasi
Pertanyaan saya adalah tentang dasar-dasar sistem mengapa keriting dan wget tidak akan menggunakan proxy ketika antarmuka jaringan didirikan untuk menggunakan satu lebih daripada bertanya tentang sintaks yang benar untuk curl
, wget
, dll
wget di belakang proksi (Anda mungkin harus membuat file rc) sumber
Tambahkan baris berikut:
meringkuk di belakang sumber proxy
Tambahkan baris berikut:
elinks di belakang sumber proxy
Temukan
elinks.conf
file Anda dengan:Tambahkan baris berikut:
Tidak yakin tentang BlueCrab
sumber
Alasan mengapa Anda tidak hanya mendapatkan proxy dari semua permintaan HTTP adalah karena pada tingkat sistem operasi , tidak ada yang namanya "permintaan HTTP"; hanya ada koneksi TCP. Menghubungi proxy HTTP berarti sedikit mengubah permintaan HTTP serta menghubungi server proxy alih-alih host yang disebutkan dalam URL, sehingga harus dilakukan dalam kode yang mengimplementasikan pengiriman permintaan HTTP.
curl dan wget memiliki kode HTTP sendiri, yang menggunakan file konfigurasi mereka sendiri - mereka belum diprogram untuk mencari pengaturan proxy di mana Mac OS X menyimpannya, juga tidak menggunakan perpustakaan HTTP yang disediakan dengan Mac OS X yang menggunakan proxy itu pengaturan.
sumber
Jika Anda tidak ingin menyentuh file konfigurasi Anda, menggunakan curl yang dapat Anda lakukan:
curl http://example.com --proxy 127.0.0.1:8888
sumber