2011-09-16 39 views
21

thể trùng lặp:
How do I save a file using the response header filename with cURLLàm thế nào để bảo vệ tên tập tin từ xa khi tải về một tập tin sử dụng curl

tôi cần phải tải về hàng ngàn hình ảnh trong định dạng

http://oregondigital.org/cgi-bin/showfile.exe?CISOROOT=/baseball&CISOPTR=0

Nếu bạn dán liên kết đó vào trình duyệt, tôi t cố gắng tải xuống tệp có tên là 1.jp2

Tôi muốn sử dụng curl để thực hiện tương tự. Tuy nhiên, khi tôi chạy

curl -I 'http://oregondigital.org/cgi-bin/showfile.exe?CISOROOT=/baseball&CISOPTR=0'

tên tập tin được báo cáo là 404.txt mà bạn có thể tải về và thấy rằng nó thực sự là file tôi muốn. Tôi không thể sử dụng tùy chọn -O vì tên được gán cho tệp không tốt và tôi có các lý do kỹ thuật cần sử dụng tên thực tế được sử dụng trên hệ thống.

Làm cách nào để tải xuống cùng một tệp mà tôi không gặp phải sự cố khi truy xuất trong trình duyệt của mình? Cảm ơn.

+0

phỏng đoán của tôi là bằng cách nào đó liên quan đến tác nhân người dùng của người gọi, mặc dù tôi đã thử thêm UA của chrome và điều đó không có tác dụng. –

Trả lời

34

[sửa] Tôi đã xóa những nỗ lực của tôi lúc thay đổi tiêu đề ... giải pháp là đơn giản hơn nhiều! [/ Sửa]

Và EUREKA! giải pháp là sử dụng -O -J

-O, --remote-name   Write output to a file named as the remote file 
-J, --remote-header-name Use the header-provided filename 

Vậy ...

curl -O -J 'http://oregondigital.org/cgi-bin/showfile.exe?CISOROOT=/baseball&CISOPTR=0' 

Tạ Đà!

Tôi đã phải nâng cấp CURL của mình. Tôi đã có 7,19 mà không hỗ trợ -J nhưng 7,22 (đó là mới nhất) nào.

+1

@ Dr.Debel bạn chỉ cần '-J' và không có' -H' chỉ: 'curl -O -J 'http://oregondigital.org/cgi-bin/showfile.exe?CISOROOT=/baseball&CISOPTR= 0'' –

-1

Bạn có thể sử dụng tùy chọn -o? ví dụ:

curl 'http://oregondigital.org/cgi-bin/showfile.exe?CISOROOT=/baseball&CISOPTR=[0-9]' -o "#1.jpg" 
+0

anh ấy nói ngay trong câu hỏi của mình rằng anh ấy không thể sử dụng -O bởi vì anh ta không muốn tên tập tin được showfile.exe? ... vv Chú ý! :) –

+0

Vâng, bạn cũng nên chú ý. Một "o" nhỏ của nó, và nó có khả năng cho phép người dùng xác định tên tập tin. –

+0

người dùng không thể xác định tên tệp trong trường hợp này ... nó đến từ tiêu đề của phản hồi đến –

Các vấn đề liên quan