问题
I am writing a class library to perform operations on a site outside my control. The site is accepting form-posts as input.
Can anyone tell me if there is a difference between these two methods except the form of the data to upload?
System.Net.WebClient.UploadData(Uri, Byte[]);
System.Net.WebClient.UploadValues(String, NameValueCollection);
I have no objections to arrange data either way, but started to wonder what the difference actually is, and it is still nagging me in some strange way, not knowing if there is a difference.
回答1:
Both "POST" the data to the server. If you use UploadValues
, the values will be made available to the server in the Request.Form
collection which is how a normal HTML form works. UploadData
gives you more flexibility since no escaping is performed on your data. Its up to you to format the data in a way that the server will understand. As a consequence of this, you can use UploadData
to duplicate the behavior of UploadValues
.
来源:https://stackoverflow.com/questions/5539245/net-webclient-uploadvalues-vs-webclient-uploaddata