2012-02-08 29 views
9

Tôi đang cố gắng sử dụng một tập tin batch với wget để tải về các tập tin FCC công cộng từ đâywget 401 Unauthorized

http://wireless.fcc.gov/uls/data/complete/l_micro.zip

Khi tôi intially chạy tập tin thực thi với các thông số

wget --server-response -owget.log http://wireless.fcc.gov/uls/data/complete/l_micro.zip 

Nó không thành công với lỗi HTTP 401 trái phép. Tôi có thể thử lại vào thời điểm này và nó vẫn không thành công. Tuy nhiên tôi nhận thấy nếu tôi mở IE, bắt đầu tải xuống và hủy khi được nhắc lưu, tôi có thể chạy lại tập tin thực thi và thực thi hoàn hảo!

Đây là phản ứng máy chủ chi tiết của tôi từ nhật ký

--2012-02-06 14:32:24-- http://wireless.fcc.gov/uls/data/complete/l_micro.zip 
Resolving wireless.fcc.gov (wireless.fcc.gov)... 192.104.54.158 
Connecting to wireless.fcc.gov (wireless.fcc.gov)|192.104.54.158|:80... connected. 
HTTP request sent, awaiting response... 
    HTTP/1.1 302 Found 
    Location: REMOVED - appears to have my IP 
    Cache-Control: no-cache 
    Pragma: no-cache 
    Content-Type: text/html; charset=utf-8 
    Connection: close 
    Content-Length: 513 
Location: REMOVED [following] 
--2012-02-06 14:32:24-- REMOVED 
Resolving REMOVED... 192.168.2.11 
Connecting to REMOVED|192.168.2.11|:80... connected. 
HTTP request sent, awaiting response... 
    HTTP/1.1 401 Unauthorized 
    Cache-Control: no-cache 
    Pragma: no-cache 
    WWW-Authenticate: NTLM 
    WWW-Authenticate: BASIC realm="AD_BCAAA" 
    Content-Type: text/html; charset=utf-8 
    Proxy-Connection: close 
    Set-Cookie: BCSI-CS-8ECFB6B4AA642EF0=2; Path=/ 
    Connection: close 
    Content-Length: 575 
Authorization failed. 

Đây là nhật ký sau khi làm thủ tục IE nhỏ của tôi và nhận được nó để làm việc

--2012-02-08 15:52:43-- http://wireless.fcc.gov/uls/data/complete/l_micro.zip 
Resolving wireless.fcc.gov (wireless.fcc.gov)... 192.104.54.158 
Connecting to wireless.fcc.gov (wireless.fcc.gov)|192.104.54.158|:80... connected. 
HTTP request sent, awaiting response... 
    HTTP/1.1 200 OK 
    Server: Sun-Java-System-Web-Server/7.0 
    Date: Fri, 27 Jan 2012 18:37:51 GMT 
    Content-type: application/zip 
    Last-modified: Sun, 22 Jan 2012 11:18:09 GMT 
    Etag: "46fa95c-4f1bf071" 
    Accept-ranges: bytes 
    Content-length: 74426716 
    Connection: Keep-Alive 
    Age: 1045014 
Length: 74426716 (71M) [application/zip] 
Saving to: `l_micro.zip' 

Any help is appreciated!

+0

Lệnh của bạn hoạt động hoàn hảo với tôi ... – jglouie

+0

Tôi đã cố gắng 'wget http: // wireless.fcc.gov/uls/data/complete/l_micro.zip' và nhận tệp' l_micro.zip' của '74693506' byte với sha1sum của '1f8393bf6231bfa9689ec91cab6a660244f35605'. –

+0

Bạn có proxy trong suốt trên mạng của mình không? Bạn có thể chạy wireshark hoặc fiddler trên phiên IE của bạn để xem những gì nó làm khác nhau? –

Trả lời

0

Thử đặt chuỗi tác nhân người dùng bằng wget - ví dụ:

--user-agent=Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727) 

đó là hoàn toàn khả thi đối với một trang web để từ chối yêu cầu từ đại lý người dùng nhất định, đặc biệt là nếu họ nhìn được phá vỡ các tuyến đường "bình thường" để thông tin (ví dụ: thông qua các trang web).

Mặc dù điều này không giải thích vấn đề của bạn, đó là một ý tưởng tốt anyway. Có lẽ trang web thực hiện một cơ chế theo đó khi bạn duyệt với trình duyệt "đã biết" (ví dụ như IE), nó sẽ lưu trữ IP của bạn là "an toàn", sau đó cho phép bất kỳ tác nhân người dùng nào từ IP của bạn tải xuống bất cứ điều gì :)

+0

Tôi đã thử đề xuất của bạn và cũng sử dụng UA của riêng tôi từ trình duyệt của tôi và nó không giúp ích gì. Dường như là bật và tắt, khi tôi bật máy tính vào sáng nay, nó hoạt động tốt bất chấp những người định cư và gần đây đã ngừng hoạt động. Điều này có thể là vấn đề tường lửa hay không? – user1192537

9

Bạn có Blue Coat cổng web an toàn trên mạng của bạn, được chứng minh bằng dòng trong phản hồi:

Set-Cookie: BCSI-CS-8ECFB6B4AA642EF0=2; Path=/ 

Có vẻ như bạn muốn bạn xác thực, có lẽ với thông tin đăng nhập miền của bạn. Hãy thử truyền chúng với --http-user--http-passwd.

17

Nếu trang web có chỉ đơn giản là một thiết lập htpassword, bạn có thể thử:

wget --user=admin --ask-password https://www.yourwebsite.com/file.zip 
+1

+1 Tính năng này rất hữu ích khi bạn nhận được 401 trái phép. Cảm ơn! – styfle

1

Tôi đã có một vấn đề tương tự với các trang web dựa Xwiki. sau nhiều lần tôi thấy một số sự kết hợp đó làm việc cho tôi tốt

wget --no-check-Giấy chứng nhận --auth-no-thách thức -k -nc -p -l 1 -r https://user:[email protected]

Tôi nghĩ khóa là --auth-no-challenge

5

Tôi đã sử dụng --auth-no-challenge và lỗi chính xác được giải quyết.

+0

Hoàn hảo ... API tôi đang gọi không gửi thử thách xác thực. [Tùy chọn này] (https://www.gnu.org/software/wget/manual/html_node/HTTP-Options.html) buộc wget luôn gửi tiêu đề Cấp quyền. – mlathe

0

Tôi đến đây để tìm hiểu lý do tại sao wget đưa ra thông điệp trái phép 401 khi trên một hệ thống khác, vấn đề không xảy ra.

Sau khi cài đặt phiên bản mới hơn của wget từ nguồn (nhị phân không có sẵn trong bản phân phối của tôi) nó hoạt động.Tôi không thể giải thích lý do tại sao, ngoại trừ việc nó phải là một loại lỗi nào đó, vì vậy nếu không có vấn đề nào ở trên khắc phục được vấn đề của bạn, hãy cân nhắc nâng cấp wget.