Reputation: 91
I can use both HttpWebRequest
to send an HTTP request and get an HTTP response without a WebClient
.
When should you use HttpWebRequest
and when should you use WebClient
?
Upvotes: 7
Views: 5474
Reputation: 160852
If you do not need access to the underlying stream but are just uploading or downloading "data", i.e. a file some bytes or a string, WebClient is a simplifying abstraction.
Upvotes: 0
Reputation: 55334
WebClient is ideal for downloads and uploads.
HttpWebRequest is ideal for web connections, including sending HTTP POST requests, as seen here: HTTP request with post
Upvotes: 0
Reputation: 1038710
Personally I always use WebClient. The API seems more simple. It uses HttpWebRequest under the covers.
Upvotes: 1
Reputation: 229988
WebClient can be used when you don't need any fine-tuning.
When using HttpWebRequest, you can control various options, including timeouts (very important). So basically - WebClient for toy projects / POCs, HttpWebRequest for actual business.
Upvotes: 3