Trước hết, tôi không phải là một người Linux, nhưng đôi khi tôi phải giả vờ là một nhà phát triển web.
Vì vậy, chúng tôi có máy chủ Red Hat và tôi đang sử dụng wget trong crontab để chạy một số tập lệnh PHP.
Chúng tôi đã làm điều này một thời gian và nó đã hoạt động tốt.
Tôi đã cố gắng thêm một tập lệnh khác bằng cách sử dụng wget để chạy tập lệnh PHP đằng sau xác thực HTTP. Tuy nhiên, mặc dù thực tế là URL hoạt động tốt và tên người dùng và mật khẩu là chính xác, chúng tôi vẫn gặp lỗi kết nối hết thời gian kết nối mỗi lần.
Điều gì có thể khiến wget hoạt động cho các URL không được xác thực, nhưng các URL không được xác thực?
Tôi đã thử --user = / - password =, --http-user = / - http-password và Username: Password @ trong URL và cả ba đều thất bại theo cùng một cách.
Đây là lệnh trong câu hỏi:
[blahblah user]# wget -t 5 -O /dev/null 'http://Username:Password1!@test.example.com/sub/dir/file-name.php'
--2010-07-07 10:11:55-- http://Username:*password*@test.example.com/sub/dir/file-name.php
Resolving test.example.com... 000.000.000.000
Connecting to test.example.com|000.000.000.000|:80... failed: Connection timed out.
Retrying.
[Lặp lại quảng cáo]
Có suy nghĩ gì không? Một lần nữa, wget hoạt động, tệp có xác thực hoạt động, nhưng wget gọi tệp với xác thực không hoạt động.
CẬP NHẬT: Trên thực tế, tôi nhận được thời gian chờ tương tự nếu tôi truy cập URL được xác thực mà không cần xác thực. Điều đó có nghĩa là Apache đang từ chối các yêu cầu wget để xác thực hoàn toàn? (Tôi thực sự bước vào lãnh thổ đầu cơ ở đây. Tôi hầu như không biết gì về cấu hình Apache.)