2012-08-06 42 views
9

Tôi đang viết tập lệnh Bash để tải xuống tệp hình ảnh từ API chụp nhanh trang web của Snapito. API có thể trả về nhiều phản hồi khác nhau được chỉ ra bởi các mã phản hồi HTTP khác nhau và/hoặc một số tiêu đề tùy chỉnh. Kịch bản của tôi được dự định để chạy dưới dạng một công việc Cron tự động kéo URL từ cơ sở dữ liệu MySQL và lưu ảnh chụp màn hình vào đĩa cục bộ.Sử dụng CURL để tải xuống tệp và xem tiêu đề và mã trạng thái

Tôi đang sử dụng curl. Tôi muốn làm những thứ 3 sử dụng một lệnh CURL duy nhất:

  1. Extract các mã phản hồi HTTP
  2. Giải nén header
  3. Lưu tập tin cục bộ (nếu yêu cầu đã thành công)

Tôi có thể thực hiện việc này bằng nhiều yêu cầu curl nhưng tôi muốn giảm thiểu số lần tôi truy cập máy chủ của Snapito. Có ai trong số curl chuyên gia không?

Hoặc nếu ai đó có tập lệnh Bash có thể phản hồi bộ phản hồi API Snapito đầy đủ tài liệu, điều đó thật tuyệt vời. Đây là their API documentation.

Cảm ơn!

+0

Bạn có thể phân tích đầu ra, nhưng tôi đoán điều này dễ dàng hơn trong python/ruby ​​/ php/... –

Trả lời

14

Sử dụng các tiêu đề bãi tùy chọn: curl -D /tmp/headers.txt http://server.com

+1

Ah, vâng. Tôi đã bỏ qua tùy chọn '-D'. Dưới đây là những gì tôi đang sử dụng bây giờ: 'curl -s -L -D/dev/stdout -o $ IMAGE_FILE $ SNAPITO_URL' Cảm ơn! – curtisdf

6

Sử dụng curl -i (bao gồm tiêu đề HTTP) - mà sẽ mang lại các tiêu đề, tiếp theo là một dòng trống, tiếp theo là nội dung.

Bạn có thể tách các tiêu đề/nội dung (hoặc sử dụng -D để lưu trực tiếp vào tệp, như được đề xuất ở trên).

+1

Tôi nghĩ bạn đang nghĩ về tùy chọn '-I', không phải là' -i'. – curtisdf

+1

Không. -Tôi chỉ là tiêu đề, -i là tiêu đề + nội dung. –

+1

Tôi hiểu, bạn nói đúng. Sử dụng '-i' sẽ cho tôi một vấn đề khác mặc dù: Phân tích cú pháp đầu ra để phân tách các tiêu đề khỏi dữ liệu hình ảnh nhị phân. Tôi nhận nó hoạt động tốt với tùy chọn '-D' được định tuyến tới stdout (và được bắt bởi một' wrapper '$), và tùy chọn' -o' để lưu tệp. Cảm ơn mặc dù! Tôi sẽ nhớ nhìn vào '-i' lần sau. – curtisdf

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