Hỏi về Php và Curl

Có bạn nào trong diễn đàn đã làm việc với php và curl cho mình hỏi cách xử lý bài toán này.
Bài toán:

  1. Mình có 1 trang web muốn đăng nhập tự động vào bằng curl với các tham số user & pass.
  2. Sau khi đăng nhập tự động chyển đến 1 trang nào đó trong web
  3. Chuyển đến trang đó mình cần download 1 file, để down dược file này cần điền một số thông tin như file version mấy, chọn chế độ word hoặc pdf,… và link của file này đã mã hóa, khi làm trên web bình thường sẽ không lấy được trực tiếp, chỉ khi điền đủ thông tin và click nút mới down được.

Các bước 1, 2 mình đã làm được, giờ bạn nào gọi ý giúp mình bước 3. Cảm ơn các bạn.

File version mấy là sao nhỉ? Em tính download từ source control hả?

Vậy em có vấn đề với nút click hay vấn đề với thông tin?

P/S: Anh không làm với PHP, nhưng anh có một số kinh nghiệm làm crawler nên tò mò tí làm rõ câu hỏi thôi.


@laptrinhio @kayz

1 Like
  • kiểu như mỗi năm người ta ra 1 file ấy anh. mình cần chọn file nào.
  • vấn đề với cả 2 anh ah. trong quá trình login thì được, nhưng khi vào trang này thì em không làm được.

Cho mình thắc mắc bước 3 của bạn… Có phải là bạn đã dọn sẵn cho người ta một menu, chỉ cần họ điền đẩy đủ thông tin mới cho download. Còn thiếu chỗ nào, báo lỗi chỗ đó lên hoặc không cho người ta di chuyển trang?

Đúng rồi bạn. bạn biết chỉ mình với.

Hướng mình nghĩ là sẽ can thiệp bằng JavaScript chứ không phải PHP.

Giải pháp:

  1. tạo một form nhưng nút Submit có type là button.
  2. dùng JavaScript, viết Regular Expression hay gì đó để kiểm tra tính đúng đắn của dữ liệu trong sự kiện submit của form.
  3. nếu thỏa các bước kiểm tra dữ liệu thì thay đổi type của nút Submit đó về submit

Mình thì thích xài cách này lắm :smile: Lý do, trong một form, nếu nút Submit có type là submit thì hễ nhấn là nó sẽ gởi request lên Server. Còn đối với type button thì chấp hết :slight_smile: Sự ảo ảo của giải pháp này nằm ở chỗ thay đổi type của nút Submit từ button sang submit. Bác cứ thử đi. :stuck_out_tongue:

1 Like

Button hay Submit thì cũng vậy, quan trọng chúng ta viết đoạn JS như thế nào! Ví dụ khi mình đặt một cái form submit với name bất kì, mình chỉ việc thêm một sự kiện onclick và sự kiện mình cho nó là return false thì nó sẽ không gửi lên server mà để cho JS chúng ta xử lý. :smiley:

1 Like

tại em không thích có chữ “onclick” hoặc “onsubmit” ở trong code HTML thôi :smiley:

1 Like

gọi ID của nó cũng được mà :smiley:

thì đó… cách của em là dùng selector của JavaScript mà :smiley:

1 Like

Như bạn @keyz nói, quan trọng đoạn JS viết sao để download được ấy. Vì link down ẩn lại cần điền thông tin nên không biết phải viết sao để nó down.

1 Like

Cái này chỉ cần gửi theo kiểu ajax nếu đúng theo yêu cầu rồi thì ajax trả về thông tin link download có thể theo giây hoặc trực tiếp. AJAX mạnh lắm :smiley:

Cho mình hỏi, muốn dùng curl cho 1 nút nhấn để truyền 1 biến đến 1 server khác thì cần làm gì ?

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?