ไซต์เข้าสู่ระบบโดยใช้ cURL


13

ฉันกำลังพยายามเข้าสู่ระบบจากบรรทัดคำสั่ง cURL ด้วยคำสั่ง

curl --data "ชื่อผู้ใช้ = ผู้ใช้ & รหัสผ่าน = ผ่าน & ส่ง = เข้าสู่ระบบ" http://www.ip.com:8080/LoginApplication/Login.jsp

และหลังจากนั้นพยายามเข้าถึงหน้าเว็บด้านในโดยใช้

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

แต่ฉันถูกเปลี่ยนเส้นทางไปยังหน้าข้อผิดพลาดเพราะไม่ได้เข้าสู่ระบบ

สิ่งที่ฉันหายไปในคำสั่งแรกของฉันเพื่อให้สามารถรักษาเซสชั่น? ฉันมีเว็บไซต์ที่โฮสต์ในพื้นที่


เป็นไปได้เช่นเดียวกันบน SO: stackoverflow.com/questions/12399087/ …
Ciro Santilli 法轮功病毒病毒审查六四事件法轮功

คำตอบ:


16

คุณจะต้องเก็บข้อมูลเซสชันไว้ในคุกกี้ คุณสามารถใช้-c cookie_filenameเพื่อสร้างคุกกี้ (เพิ่มสิ่งนี้ในคำสั่งล็อกอินของคุณ) แล้วสำหรับคำขออื่น ๆ -b cookie_filenameคุณสามารถอ่านได้จากคุกกี้ด้วย

ในตัวอย่าง:

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

แก้ไข :

โปรดสังเกตว่าหลายครั้งloginpageไม่ใช่หน้าที่คุณเปิดด้วยเว็บเบราว์เซอร์ที่คุณแนะนำผู้ใช้และรหัสผ่าน คุณจะต้องตรวจสอบว่าแบบฟอร์มนั้นโพสต์ข้อมูลนั้นไว้ที่ใด (ค้นหา<form>แท็กในซอร์สโค้ดและaction=...แอตทริบิวต์) ดังนั้นสำหรับตัวอย่างเช่นถ้าคุณต้องการที่จะเข้าสู่ระบบhttps://criticker.com , loginpageเป็นhttps://www.criticker.com/authenticate.phpและไม่https://www.criticker.com/signin.php , อันไหนที่คุณเปิดด้วยเบราว์เซอร์ของคุณ

ปลั๊กอิน / ส่วนขยายที่ถูกดัดแปลงสำหรับเบราว์เซอร์ของคุณอาจช่วยให้คุณค้นหาข้อมูลที่ถูกต้องloginpageและถูกโพสต์ได้ทั้งหมด (เช่นฟิลด์อินพุตที่ซ่อนอยู่ในแบบฟอร์ม)


ลำดับที่ได้รับจาก -s -c -d ไม่ได้สร้างไฟล์คุกกี้
SAR

มันเป็นความช่วยเหลือที่ดีมากฉันมองที่มาของฉันอีกครั้งและพบว่าคำขอของฉันกำลังจะไปที่คอนโทรลเลอร์และจากนั้นฉันก็แก้ไขคำสั่งของฉันและมันก็ใช้ได้ดีสำหรับฉัน
SAR

ใช้งานได้ดีกับ HTTP มีอะไรที่ฉันต้องทำเพิ่มเติมกับ HTTPS หรือไม่
SAR

@SAR: คุณมีปัญหาเกี่ยวกับใบรับรอง -kบางทีคุณอาจเพียงต้องการที่จะใช้ ดูcurl --helpข้อมูลเพิ่มเติมหรือค้นหาวิธีจัดการใบรับรองบนอินเทอร์เน็ต ;-)
Peque

1
ขอบคุณสำหรับความช่วยเหลือที่ดี ... ปัญหาที่เกิดขึ้นกับ curl ของฉันคือ "สังเกตว่าหลายครั้งที่หน้าล็อกอินไม่ใช่หน้าเว็บที่คุณเปิดด้วยเว็บเบราว์เซอร์ที่คุณแนะนำผู้ใช้และรหัสผ่าน" ... ขอบคุณ!
Sambhav Pandey
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.