Hỏi về cấu trúc của file cookies khi dùng cURL để login?

368 views
Skip to first unread message

Nguyen Duc Phu

unread,
Jun 12, 2009, 4:19:20 AM6/12/09
to phpvi...@googlegroups.com
Xin chào,

Mình dùng cURL để login vào một trang web có dùng https://, mỗi lần login thì nó tạo ra một dòng trên file cookies.txt khác nhau và mình chưa có phương án xử lý như thế nào để login thành công.

Từ lần thứ 4 thì không thấy file này thay đổi nội dung.

Cấu trúc file txt:

# Netscape HTTP Cookie File
# This file was generated by libcurl! Edit at your own risk.

plus.dailyfx.com FALSE /login TRUE 0 JSESSIONID 31F1DA3D5DB660A32F289CDBB92A28AE
plus.dailyfx.com FALSE / FALSE 0 JSESSIONIDSSO F0C40E2D3BE38FD50DD54F768B54EC94
plus.dailyfx.com FALSE /login/ FALSE 0 fxsignalsAttr 6319034008


Làm ơn cho hỏi mỗi thành phần trên dòng có ý nghĩa cụ thể như thế nào. Hiện tại mình không nắm rõ về những thành phần TRUE FALSE trên từng dòng.

Vincent Nguyen

unread,
Jun 12, 2009, 6:40:24 AM6/12/09
to phpvi...@googlegroups.com
Mấy cái này chắc do cái site đó xài JSP/Serverlet gì đó đây mà!
E k rõ true/false đó là gig nhf có lần e bị y xì như dầy!
Chỉ cần check thật cẩn thận, cụ thể số lần send request đi rồi send cho đúng là đc mà!
Mình ko cần bận tậm cookie vif có 2 option gì đó cho cookie file với CURL mà! Nó sẽ tự động lưu cookie vào đó rồi send tiếp đi trg cùng 1 session của curl!
E nghĩ, vấn đề a k đăng nhập thành coogn có thể là do trg site đó có dùng 1 send 1 vài XMLHTTPREQUEST để tạo cookie đó!
A debug lại cẩn thận coi!
Trước có lần e dính 1 site, ko thể nào đăng nhập đc, về sau debug cẩn thận mới phát hiện ra nó xài Ajax để send 1 request tới 1 file rồi tạo cookie! Mình quên send request đó nên ko đăng nhập đc!
Mình ko cần quan tâm gì tới nội dung cookie! Chỉ cần set CURLOPT_COOKIEJAR và CURLOPT_COOKIEFILE thôi!
QUan trọng là send đúng tất cả request!

2009/6/12 Nguyen Duc Phu <ndu...@gmail.com>

Nguyen Duc Phu

unread,
Jun 12, 2009, 9:52:47 PM6/12/09
to phpvi...@googlegroups.com
Kiểm tra lại rồi, đã send đủ request :)

Tình trạng hiện tại thì đã login được, nhưng như thế này:
+ Lần đầu tiên 2 dòng đầu trong cookies được tạo, sau đó là script được redirect đến một url khác trên site đó, đòi login.
+ Lần thứ 2: Dòng thứ 3 được tạo và hiển thị ra kết quả html fetch mình cần.

Tại sao lại như vậy nhỉ?
Có kết quả fetch thì cũng dùng được rồi, tuy nhiên phải chạy 2 lần!



2009/6/12 Vincent Nguyen <kure...@gmail.com>

Vincent Nguyen

unread,
Jun 12, 2009, 11:38:26 PM6/12/09
to phpvi...@googlegroups.com
Bình thường mà anh! Tại cái trang nớ rứa chứ sao:-|!
Có thể trg đó làm như thế này, đầu tiền user login thành công, redirect đến 1 trang khác, rồi trên trg này có 1 forn, ngay khi trg load xong sẽ có 1 đoạn js nào đó để submit form đó tự động luôn để tự động đăng nhập thêm 1 lần nữa(với các thông số đã có)  tạo 1 số cookie khác!
Ở anh thì anh xài curl, đâu có chạy JS đc, nên a phải send request lại để đăng nhập thêm 1 lần nữa! Tại e cách đây ko lâu có làm 1 số site để lấy số code của xe từ VIN#, và bị dính nhiều trg hợp như anh dậy đó!

Để biết kĩ, a thử output cái url khác mà đòi login lần thứ 2 coi sao!
Reply all
Reply to author
Forward
0 new messages