Mengapa wget digantung?

12

wget ke satu url tertentu dari salah satu server saya terus mendapatkan batas waktu. Semua url lain dari kotak ini berfungsi dengan baik. Url ini berfungsi dengan baik dari kotak lain yang saya miliki. Inilah hasilnya:

wget -T 10 http://www.fcc-fac.ca
--2011-07-14 14:44:29--  http://www.fcc-fac.ca/
Resolving www.fcc-fac.ca... 65.87.238.35, 207.195.108.140
Connecting to www.fcc-fac.ca|65.87.238.35|:80... failed: Connection timed out.
Connecting to www.fcc-fac.ca|207.195.108.140|:80... failed: Connection timed out

Bisakah Anda memberi tahu saya apa yang mungkin salah dan bagaimana saya dapat memecahkan masalah itu? Saya menggunakan Ubuntu 11.04 (GNU / Linux 2.6.38-8-server x86_64)

Terima kasih banyak sebelumnya dan maafkan ketidaktahuan noobish saya :)

ping, telnet, nc www.fcc-fac.ca 80 - semua hang. Namun, beberapa url lain yang mudah wget'able meskipun hanya beberapa host mereka yang dapat di-ping.

traceroute tidak banyak memberi tahu saya:

7  rx0nr-access-communications.wp.bigpipeinc.com (66.244.208.10)  148.834 ms  149.018 ms  148.940 ms
8  sw-1-research.accesscomm.ca (24.72.3.9)  158.901 ms  159.805 ms  160.162 ms
9  65.87.238.126 (65.87.238.126)  150.069 ms  148.861 ms  148.846 ms
10  * * *
...
30  * * *

Terima kasih banyak atas jawabannya!

Szczepan
sumber

Jawaban:

14

Saya pikir masalahnya adalah bahwa wget tidak menangani dengan baik alamat IPv6 dan server DNS mengirim IPv6 untuk situs itu. Maaf jika saya salah mengerti pertanyaan Anda. Periksa tes-tes itu:

hmontoliu@ulises:~$ wget -T10 http://www.fcc-fac.ca
--2011-07-14 16:44:34--  http://www.fcc-fac.ca/
Resolving www.fcc-fac.ca... failed: Connection timed out.
wget: unable to resolve host address `www.fcc-fac.ca'

Jika saya memaksakan IPv6 karena saya yakin masalah Anda berkaitan dengan itu, ia gagal:

hmontoliu@ulises:~$ wget -6 http://www.fcc-fac.ca
--2011-07-14 16:40:44--  http://www.fcc-fac.ca/
Resolving www.fcc-fac.ca... failed: No address associated with hostname.
wget: unable to resolve host address `www.fcc-fac.ca'

Namun jika saya memaksa untuk menggunakan IPv4 itu mengunduh tepat halaman indeks

hmontoliu@ulises:~$ wget -4 http://www.fcc-fac.ca
--2011-07-14 16:40:56--  http://www.fcc-fac.ca/
Resolving www.fcc-fac.ca... 65.87.238.35, 207.195.108.140
Connecting to www.fcc-fac.ca|65.87.238.35|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 6554 (6,4K) [text/html]
Saving to: `index.html'
hmontoliu
sumber
Dia menyelesaikannya dengan alamat IPv4.
Jodie C
Contoh lain mengapa saya tidak suka IPv6: - /
PJ Brunet
1

Jalankan nc www.fcc-fac.ca 80, ketik GET /dan tekan Enter dua kali.

Penglihatan jauh mungkin turun atau menghalangi Anda.

Jodie C
sumber
Hai, terima kasih atas jawabannya - Saya memperbarui pertanyaan awal
Szczepan
Jika Anda tidak dapat netcat ke alamat itu, maka Anda mungkin diblokir di suatu tempat di sepanjang jalan.
Jodie C
1

tampaknya wget tidak dapat terhubung ke ip Anda di port 80.

periksa apakah server Anda dapat ping:

ping 65.87.238.35
ping 207.195.108.140

jika ip dapat ping, periksa apakah Anda dapat terhubung ke port 80 menggunakan telnet:

telnet 65.87.238.35 80

jika server tidak merespons ping, kemungkinan servernya down atau tidak terjangkau.

uji dengan alat traceroute untuk melihat di mana koneksi gagal.

Goez
sumber
Hai, terima kasih atas jawabannya - Saya memperbarui pertanyaan awal
Szczepan
sebuah penggalian di www.fcc-fac.ca memberi tahu saya bahwa ia memiliki 2 catatan DNS tipe A: ;; BAGIAN JAWABAN: www.fcc-fac.ca. 120 IN A 65.87.238.35 www.fcc-fac.ca. 120 IN A 207.195.108.140 jika keduanya tidak dapat dijangkau hostnya tidak aktif, dan tentu saja wget tidak akan dapat mengambil file yang Anda inginkan. jika ada beberapa ip yang dapat dijangkau, wget akan melewatkan ip sampai ia menemukan ip yang dapat dijangkau, dan unduh file dari sana. dalam kasus Anda, kedua host tampaknya turun karena waktu respon yang lama saya pikir (waktu habis).
Goez
Anda dapat menggunakan opsi -T di wget untuk memperpanjang nilai batas waktu Batas waktu adalah detik ke detik, jadi mungkin nilai yang lebih tinggi akan membantu
Goez
Baik. Saya melihat. Kedua ips tidak pingeable (saya periksa dari 2 mesin yang berbeda). Namun tautan tersebut berfungsi dengan baik di peramban dan ketika wget'ed dari mesin yang berbeda dari yang membuat masalah: /
Szczepan
Waktu tunggu yang lebih tinggi tidak membantu
Szczepan
1

Perbaiki untuk resolusi DNS lambat dalam skrip PHP menggunakan perpustakaan CURL.

Dari dokumentasi libcurl:

CURLOPT_IPRESOLVE

Mengizinkan aplikasi memilih jenis alamat IP apa yang akan digunakan saat menyelesaikan nama host. Ini hanya menarik ketika menggunakan nama host yang menyelesaikan alamat menggunakan lebih dari satu versi IP. Nilai yang diizinkan adalah:

CURL_IPRESOLVE_WHATEVER

Default, menyelesaikan alamat untuk semua versi IP yang diizinkan sistem Anda.

CURL_IPRESOLVE_V4

Putuskan ke alamat IPv4.

CURL_IPRESOLVE_V6

Putuskan ke alamat IPv6.

Saya percaya ini dapat ditetapkan sebagai variabel lingkungan. Setidaknya saat menggunakan PHP, pengaturan ini membuat perbedaan besar untuk kecepatan resolver.

Bryan Hunt
sumber