Tôi đã thử lệnh sau:
$ wget -q --tries=10 --timeout=20 --spider http://google.com
(Từ bài đăng SO này . Tôi muốn kiểm tra kết nối internet của mình trong bash.)
Tôi nhận được đầu ra sau:
Spider mode enabled. Check if remote file exists.
--2015-09-28 09:55:50-- http://google.com/
Connecting to 127.0.0.1:3128... connected.
Proxy request sent, awaiting response... 302 Found
Location: http://www.google.de/?gfe_rd=cr&ei=k_IIVreaN-yH8Qfe1Yu4CA [following]
Spider mode enabled. Check if remote file exists.
--2015-09-28 09:55:50-- http://www.google.de/?gfe_rd=cr&ei=k_IIVreaN-yH8Qfe1Yu4CA
Connecting to 127.0.0.1:3128... connected.
Proxy request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Remote file exists and could contain further links,
but recursion is disabled -- not retrieving.
Có vẻ ổn, tuy nhiên chạy cmd với sudo
, tôi nhận được điều này:
Spider mode enabled. Check if remote file exists.
--2015-09-28 09:55:27-- http://google.com/
Resolving google.com (google.com)... failed: Name or service not known.
wget: unable to resolve host address ‘google.com’
Tôi cần dòng này trong một kịch bản, mà tôi gọi với sudo
và vì vậy nó luôn luôn thất bại.
Ai đó có thể cho tôi biết lý do cho việc này? Làm thế nào tôi có thể làm việc xung quanh đó?
wget
với google.com dường như không phải là một cách tốt để kiểm tra xem kết nối internet có hoạt động hay không: ví dụ: bạn có thể đang kết nối cho phép kết nối HTTP với Google nhưng cấm những điều mà tập lệnh của bạn thực sự muốn làm ; hoặc Google có thể cấm wget truy cập vào trang web của họ. Vấn đề thực tế bạn có là gì, mà bạn nghĩ đó sudo wget blah
là một giải pháp tiềm năng?