Trước tiên, hãy tha thứ cho sự ngây thơ của tôi với chủ đề này. Tôi là một lập trình viên đã nghỉ hưu đã bắt đầu trước khi DOS xuất hiện. Tôi không phải là chuyên gia về ASP.NET. Một phần của những gì tôi cần biết là những gì tôi cần biết. (Nếu yo theo tôi ...)Giao diện điều khiển ứng dụng để đăng nhập vào trang web ASP.NET
Vì vậy, tôi muốn đăng nhập vào một trang web và loại bỏ một số nội dung. Sau khi xem xét nguồn HTML với notepad và fiddler2, rõ ràng với tôi rằng trang web được triển khai bằng các công nghệ ASP.NET.
Tôi bắt đầu bằng cách thực hiện rất nhiều google'ing và đọc tất cả mọi thứ tôi có thể tìm thấy về viết scrapers màn hình trong C#. Sau khi một số điều tra và nhiều nỗ lực, tôi nghĩ rằng tôi đã đi đến kết luận rằng nó không phải là dễ dàng.
Điểm mấu chốt của vấn đề (như tôi thấy bây giờ) là ASP cung cấp nhiều cách để một lập trình viên duy trì trạng thái. Cookie, viewstate, session vars, page vars, get và post params, vv Cộng với lập trình viên có thể chia công việc giữa máy chủ và kịch bản máy khách. Một máy khách web phong phú như IE hoặc Safari hoặc Chrome hoặc Firefox biết cách xử lý bất cứ điều gì mà lập trình viên viết (và khung công tác ASP thực hiện dưới trang bìa).
WebClient không phải là ứng dụng web phong phú. Nó thậm chí không biết làm thế nào để thực hiện các tập tin cookie.
Vì vậy, tôi đang gặp khó khăn. Một cách để đi là cố gắng đảo ngược kỹ sư tất cả các tính năng của ứng dụng khách phong phú mà ứng dụng ASP đang mong đợi và viết một WebClient trên lớp steroid bắt chước một khách hàng phong phú cũng đủ để đăng nhập.
Hoặc tôi có thể thử nhúng IE (hoặc một số ứng dụng khách phong phú khác) vào ứng dụng của tôi và hy vọng giao diện tiếp xúc đủ phong phú để tôi có thể điền vào một trường tên người dùng và mật khẩu theo lập trình và POST lại biểu mẫu. (Và truy cập luồng phản hồi để tôi có thể phân tích cú pháp HTML để xóa dữ liệu mà tôi đang theo dõi ...)
Hoặc tôi có thể tìm kiếm một số quyền kiểm soát của bên thứ ba sẽ giàu hơn rất nhiều so với WebClient.
Có ai có thể làm sáng tỏ một số hiểu biết sâu sắc về nơi tôi nên tập trung sự chú ý của mình không?
Đây là trải nghiệm học tập như một dự án. Điều đó nói rằng, tôi thực sự muốn tự động đăng nhập và truy xuất thông tin từ trang đích.
Xem http://stackoverflow.com/questions/1777221/using-cookiecontainer-with-webclient-class cách sử dụng cookie với WebClient. – abatishchev
Những gì bạn đang làm được gọi là [thu thập dữ liệu web] (http://stackoverflow.com/questions/tagged/web-crawler) – abatishchev