Cara terhubung ke internet dari Terminal saat menggunakan proxy dengan otentikasi

14

Saya harus menggunakan server proxy untuk terhubung ke internet. Saya telah mengatur semua proxy di pengaturan proxy sistem saya. Sekarang saya dapat terhubung ke Internet menggunakan browser dan aplikasi saya.

Tetapi saya tidak dapat terhubung ke internet dari terminal saya.

Saya mencoba

export http_proxy="http://username:password@proxyserver:port/" 

Tetapi aplikasi terminal masih tidak dapat terhubung ke internet.

TLE
sumber
1
Perintah mana yang Anda jalankan di Terminal untuk "terhubung ke internet"? Atau bagaimana Anda melihat bahwa Anda tidak dapat terhubung?
nohillside
1
Server proksi (tanpa nomor) yang Anda bicarakan di sini menyampaikan webkoneksi Anda , tidak semua koneksi internet Anda. webkoneksi menggunakan port 80, 443 .... Koneksi internet dapat menggunakan semua port yang tersisa dari set 65536. Sebagai contoh, sebuah sshkoneksi akan menggunakan port 22 yang tidak akan melalui httpserver proxy Anda . Karenanya pertanyaan patrix membantu Anda mendapatkan jawaban yang lebih baik.
dan
@patrix ping google.com
TLE
@TLE Ping adalah pengecualian terhadap aturan dan sebenarnya tidak menggunakan proxy sama sekali, bahkan jika http_proxydisetel. Ping mengharapkan koneksi langsung, dan dalam banyak kasus ketika proxy sedang digunakan, ping akan gagal meskipun proxy tersebut masih berhasil terhubung.
BinaryMisfit
3
coba curl -o /dev/null www.google.comalih-alihping
nohillside

Jawaban:

12

Terminal tidak menggunakan pengaturan proxy yang dikonfigurasi di panel preferensi jaringan karena tidak melakukan koneksi apa pun. Terminal membiarkan Anda menjalankan perintah yang akan menggunakan jaringan dengan berbagai cara.

Saat mengatur variabel lingkungan http_proxydan Anda https_proxytidak harus menyertakan http:atau https:awalan.

Karenanya variabel lingkungan dalam kasus Anda harus membaca:

http_proxy=username:password@proxyserver:port

Catatan: banyak program lama memiliki masalah dengan koneksi melalui server proxy yang memerlukan otentikasi sebelum menghubungkan.

Kiat tambahan:

Karena infrastruktur kami, kami merasa jauh lebih mudah bagi pengguna untuk menjalankan SquidMan secara lokal dan mengkonfigurasinya untuk terhubung ke proksi utama kami. Ini memungkinkan mesin lokal untuk bertindak sebagai proxy secara langsung, dan menghilangkan banyak masalah otentikasi dll ketika menggunakan server proxy pada mesin Mac, terutama di lingkungan campuran dan AD.

Dalam hal menggunakan metode ini, kami http_proxydan https_proxyakan:

http_proxy=localhost:3128
BinaryMisfit
sumber
Anda maksud saya harus menulis ekspor http_proxy = "nama pengguna: kata sandi @ proxyserver: port"
TLE
@ TLE Benar. Terminal tidak perlu mengetahui protokol karena sudah tahu itu koneksi HTTP.
BinaryMisfit
Tetapi saya masih tidak dapat terhubung ke Internet.
TLE
@ TLE Kemudian masalah paling mungkin terjadi dengan otentikasi. Coba atur proxy tanpa menyertakan nama pengguna dan kata sandi, yang berarti Anda akan dimintai informasi ketika mencoba terhubung. Ini biasanya menunjukkan proxy itu sendiri tidak mendukung koneksi dari Terminal. Kami memiliki masalah serupa secara internal yang mengapa saya menyarankan solusi SquidMan.
BinaryMisfit
masih tidak bekerja??
TLE
0

Saya baru-baru ini mengalami masalah ini dan dalam pencarian menemukan posting ini . Menambahkan beberapa poin yang berhasil bagi saya (di Mac, menggunakan Terminal):

export http_proxy=http://username:password@proxyserver:port
export HTTP_PROXY=${http_proxy}

Dan untuk https:

export https_proxy=https://username:password@proxyserver:port
export HTTPS_PROXY=${https_proxy}

Dari sini saya dapat menggunakan gitdan brewtanpa masalah (dan mengotentikasi melalui proxy).

Mikolaj
sumber
-1

Anda dapat menggunakan perintah berikut di Terminal Window.

networksetup -setairportnetwork $Interface $ssID $Password

Di sini, $Interfaceadalah pengenal gaya "enX" untuk kartu AirPort Anda (biasanya en1, tetapi en0 di MacBook Airs dan en2 pada Mac Pros, dan dapat bervariasi karena alasan lain juga)

$ssIDadalah nama jaringan Anda, seperti "Simon's SSID". Lampirkan dalam tanda kutip jika mengandung spasi.

$Password adalah kata sandi WEP, WPA-PSK, atau WPA2-PSK Anda.

Azik Abdullah
sumber
1
Ini mengkonfigurasi jaringan, tidak memungkinkan terminal itu sendiri untuk terhubung melalui proxy.
BinaryMisfit