2010-01-09 63 views
5

Có thể viết chương trình C# sẽ tải lên một trang web, chuyển các tham số biểu mẫu web để đăng nhập, sau đó nhấp vào liên kết và tải xuống thông tin trang? Rõ ràng, tôi sẽ cung cấp tên người dùng và mật khẩu.Có thể đăng nhập vào một trang web bằng C# không?

Trong ngữ cảnh, giả sử tôi muốn kiểm tra xem có bất kỳ cập nhật tin tức mới nào trên tài khoản trường học của tôi không, tôi phải đăng nhập bằng tên người dùng/mật khẩu của trường. Tôi có thể cung cấp chương trình của tôi với các thông tin mong muốn và bằng cách nào đó có được nó để vượt qua các thông số này để biểu mẫu web và tiếp tục dọc theo trang?

Trả lời

8

Có nó có thể lập trình đăng nhập vào một trang web.

Bạn cần biết cách trang web của trường xử lý thông tin đăng nhập. Giả sử, trình xử lý đăng nhập của trang web của bạn là Login.aspx và tên người dùng và mật khẩu là POST, sau đó bạn cần gửi yêu cầu POST từ chương trình của mình bằng cách sử dụng WebRequest, thêm tên người dùng và mật khẩu của bạn làm biến POST cho yêu cầu của bạn.

Hy vọng điều đó sẽ hữu ích.

+1

Tuyệt vời, lớp học tuyệt vời mà tôi chưa được giới thiệu :) Cảm ơn – Chris

5

Nếu trang đăng nhập sử dụng xác thực HTTP (trình duyệt của bạn hiển thị tên người dùng/mật khẩu nhanh chóng), sau đó bạn có thể gửi nó qua với URL như vậy:

http://username:[email protected]/

Các WebRequest cũng cho phép bạn thiết lập đó là tài sản Credentials và sử dụng tên người dùng và mật khẩu theo cách đó.

+3

Tôi hy vọng họ không chỉ sử dụng HTTP với Chris sẽ đến trường ở đó. Họ sẽ cần HTTPS để giữ anh ta khỏi bị hack. ;) –

+0

+1 cho xác thực HTTP – jrharshath

1

Cách tiếp cận khác để sử dụng lớp WebRequest là điều khiển WebBrowser. Về cơ bản, đó là một "bảng điều khiển" của Internet Explorer mà bạn có thể kiểm soát cả tương tác giữa người dùng và lập trình. API của điều khiển có thể hơi khó sử dụng, nhưng nó cung cấp cho bạn quyền truy cập vào DOM của trang được tải, sau đó có thể được điều khiển thông qua mã. Điều này đôi khi có thể hữu ích. Tôi đã tự sử dụng nó trong một vài ứng dụng web-scraping.

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