2010-06-05 30 views
33

Tôi đang chạy hai công việc cron:Làm thế nào để vượt qua nhiều tham số để cron job với curl?

Cái này thực hiện mà không có một vấn đề:

curl -sS http://example.com/cronjob.php?days=1 

Nhưng điều này không chạy ở tất cả:

curl -sS http://example.com/cronjob.php?days=1&month=1 

Đây có phải là vì dấu và (&)? Nếu có, cách chuyển nhiều tham số?

Sử dụng argv không phải là một tùy chọn.

Trả lời

70

Bạn sẽ nhận thấy rằng điều này cũng không hoạt động chính xác trong trình bao của bạn.

Những gì bạn cần làm là đặt dấu nháy đơn xung quanh URL, như vậy:

curl -sS 'http://example.com/cronjob.php?days=1&month=1' 
+7

người dùng Windows chạy mã nhị phân curl nên sử dụng hai dấu ngoặc kép thay vì đơn báo giá để nhận được nhiều tham số truy vấn lệnh hoạt động. –

0

Thử POST Request

curl -d "days=1&month=1" www.example.com/cronjob.php 
+0

Bất kỳ lý do cụ thể nào bạn đề xuất POST? – SamB

+1

Không có hại trong đề cập đến nó, nó là tốt để biết (Mặc dù tôi sẽ đi với GET) – Yeti

+1

cũng nó chỉ lên bạn bạn cũng có thể làm điều đó với một yêu cầu GET. Đây chỉ là cách tôi sẽ làm điều đó. Tuy nhiên điều này sẽ làm việc, và đó là điểm :-) – streetparade

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