Đăng nhập trang web bằng cURL


12

Tôi đang cố gắng đăng nhập từ dòng lệnh cURL bằng lệnh

curl --data "username = user & password = pass & submit = Đăng nhập" http://www.ip.com:8080/LoginApplication/Login.jsp

Và sau đó cố gắng truy cập trang bên trong bằng cách sử dụng

curl http://www.ip.com:8080/LoginApplication/Success.jsp

Nhưng tôi đang được chuyển hướng đến trang lỗi vì không đăng nhập.

Những gì tôi đang thiếu trong lệnh đầu tiên của tôi để nó có thể duy trì phiên? Tôi có trang web của tôi được lưu trữ tại địa phương


Câu trả lời:


15

Chà, bạn sẽ cần lưu trữ dữ liệu phiên trong một cookie. Bạn có thể sử dụng -c cookie_filenameđể tạo cookie (thêm phần này vào lệnh đăng nhập của bạn). Và sau đó, đối với các yêu cầu khác, bạn có thể đọc từ cookie với -b cookie_filename.

Trong ví dụ:

curl -s loginpage -c cookiefile -d "user=myself&pass=secure"
curl -s secretpage -b cookiefile

CHỈNH SỬA :

Lưu ý nhiều lần loginpagekhông phải là trang bạn mở bằng trình duyệt web nơi bạn giới thiệu người dùng và mật khẩu của mình. Bạn sẽ phải kiểm tra nơi biểu mẫu đang đăng dữ liệu đó (tìm kiếm <form>thẻ trong mã nguồn và action=...thuộc tính). Vì vậy, ví dụ: nếu bạn muốn đăng nhập vào https://criticker.com , loginpagehttps://www.criticker.com/authenticate.php chứ không phải https://www.criticker.com/signin.php , đó là một trong những bạn mở với trình duyệt của bạn.

Một plugin / tiện ích mở rộng giả mạo cho trình duyệt của bạn có thể giúp bạn tìm đúng loginpagevà tất cả dữ liệu đang được đăng lên nó (như các trường nhập liệu ẩn trong biểu mẫu).


Đưa ra chuỗi -s -c -d thậm chí không tạo tệp cookie
SAR

Đó là một sự trợ giúp tuyệt vời, tôi đã xem lại nguồn của mình và thấy yêu cầu của tôi là đến một bộ điều khiển và sau đó tôi đã sửa đổi lệnh của mình và nó đã hoạt động với tôi.
SAR

Điều này hoạt động tốt với HTTP, có bất cứ điều gì tôi cần làm thêm với HTTPS
SAR

@SAR: bạn đang gặp vấn đề với chứng chỉ. Có lẽ bạn chỉ muốn sử dụng -k. Xem curl --helpđể biết thêm thông tin hoặc tìm kiếm trên internet làm thế nào để xử lý chứng chỉ. ;-)
Peque

1
Cảm ơn bạn rất nhiều về sự giúp đỡ
Sambhav Pandey
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.