Tôi muốn tải xuống nội dung nào đó bằng cách sử dụng đối tượng WebClient trong C#, nhưng miền tải xuống yêu cầu tôi phải đăng nhập. Làm cách nào để đăng nhập và giữ dữ liệu phiên bằng WebClient? Tôi biết cách đăng dữ liệu với WebClient.Làm cách nào để đăng nhập vào một trang web bằng WebClient?
Trả lời
Nếu sự cố bạn gặp phải là bạn có thể xác thực nhưng bạn không thể giữ cookie xác thực ở đây là phiên bản nhận biết cookie của WebClient.
private class CookieAwareWebClient : WebClient
{
public CookieAwareWebClient()
: this(new CookieContainer())
{ }
public CookieAwareWebClient(CookieContainer c)
{
this.CookieContainer = c;
}
public CookieContainer CookieContainer { get; set; }
protected override WebRequest GetWebRequest(Uri address)
{
WebRequest request = base.GetWebRequest(address);
var castRequest = request as HttpWebRequest;
if (castRequest != null)
{
castRequest.CookieContainer = this.CookieContainer;
}
return request;
}
}
EDIT: Liên kết bạn đã cho tôi sử dụng hình thức xác thực với HTTP POST, tôi không có thời gian để đi bộ mặc dù nó nhưng ít nhất nó mang lại cho bạn một sự khởi đầu với Google.
tôi tìm thấy điều này. nhưng tôi cần làm gì? tôi có phải xác thực qua httpwebrequest hay không? – MonsterMMORPG
Tùy thuộc vào hệ thống xác thực mà trang web bạn đang kết nối sử dụng. Xem một số câu trả lời khác về các mẹo để xác thực –
Tôi muốn bài đăng này sẽ bao gồm một ví dụ về chính quá trình xác thực thực. – Shimmy
Hãy xem sử dụng thuộc tính Credentials. Ví dụ. nếu xác thực cơ bản được sử dụng, bạn sẽ phải đặt thuộc tính thành thể hiện của NetworkCredential bằng tên người dùng và mật khẩu thích hợp.
sample chỉ để cho biết cách sử dụng thông tin xác thực người dùng đã đăng nhập hiện tại cho yêu cầu.
không hoạt động: ( – MonsterMMORPG
Okey, tôi thấy. Máy chủ sử dụng Xác thực biểu mẫu. Yêu cầu bạn đăng tên người dùng và mật khẩu vào url hành động được chỉ định trong html của trang đăng nhập. Bạn cũng phải sử dụng vùng chứa cookie để nhận được xác thực cookie đi kèm với phản hồi cho bài đăng đó. –
@MonsterMMORPG 'DoesNotWorkNullReferenceException' – C4u
- 1. đăng nhập vào trang web bằng HTMLAgilityPack
- 2. Đăng nhập vào trang web bằng python
- 3. C# WebClient đăng nhập vào accounts.google.com
- 4. Làm cách nào để đăng nhập vào trang web bằng Python?
- 5. Cách đăng nhập vào trang web với xác thực cơ bản bằng cách sử dụng Powershell
- 6. Tự động đăng nhập vào trang web hiện tại nếu người dùng đăng nhập vào một trang web khác
- 7. Đăng nhập vào trang web từ xa bằng PHP cURL
- 8. Đăng nhập vào trang web bằng Cơ chế và Nokogiri?
- 9. Đăng nhập vào trang web với java
- 10. Đăng nhập vào trang web qua C#
- 11. Làm thế nào để đăng nhập vào một trang web bằng cách sử dụng twill được cài đặt?
- 12. đăng nhập vào một trang web bằng cách sử dụng phantomjs và Jquery
- 13. Tôi làm cách nào để WWW-Mechanize đăng nhập vào trang web của Wells Fargo?
- 14. Cách đăng nhập vào Facebook bằng lập trình bằng Java?
- 15. Có thể đăng nhập vào một trang web bằng C# không?
- 16. Cạo các trang web yêu cầu đăng nhập bằng Python
- 17. Đăng nhập vào trang web và sử dụng cookie để lấy nguồn cho một trang khác
- 18. Làm cách nào để ngăn người dùng đăng nhập vào trang web của tôi nhiều hơn một phiên?
- 19. Android: đăng nhập vào trang web và duy trì phiên/cookie bằng cách sử dụng DefaultHttpClient
- 20. Nhập dữ liệu vào Excel 2003 bằng một trang đăng nhập
- 21. JMeter không thể đăng nhập vào trang web - JMeter noob
- 22. Giao diện điều khiển ứng dụng để đăng nhập vào trang web ASP.NET
- 23. Đăng nhập bằng Google Plus trên Trang web của tôi
- 24. Sử dụng Python để đăng nhập vào trang web, điền vào một mẫu, sau đó đăng xuất
- 25. Làm cách nào để thực hiện tích hợp đăng nhập facebook trong trang web Magento?
- 26. Nhiều trang web, Thiết kế đăng nhập một lần
- 27. Sử dụng PHP CURL để đăng nhập vào một trang web từ xa
- 28. Cách không làm mất tập trung vào trang đăng nhập
- 29. Làm cách nào để xác thực yêu cầu WebClient?
- 30. Làm cách nào để cache một trang web bằng PHP?
Máy chủ yêu cầu loại cơ chế xác thực nào? Cơ bản, Biểu mẫu, Windows/NTLM? –
lol tôi giải quyết vấn đề bằng cách thêm giá trị maunally thông qua tìm kiếm từ cookie firefox :) webClient.Headers.Add ("Cookie", "PHPSESSID = xxxxxxx; mosesuser = xxxxxxx;"); – MonsterMMORPG
Giá trị nào? Bạn có nghĩa là cookie auth thực tế? Hãy nhớ rằng, giá trị đó có thể sẽ hết hạn và không thể sử dụng lại sau đó. –