Comment OBTENIR les données à partir d'une URL et l'enregistrer dans un fichier au format binaire en C#.NET sans l'encodage gâchis?
Dans C#.NET je veux récupérer les données à partir d'une URL et l'enregistrer dans un fichier binaire.
L'aide de HttpWebRequest/Streamreader pour lire dans une chaîne et enregistrer à l'aide de StreamWriter fonctionne très bien avec l'ASCII, mais les caractères non-ASCII se déchire parce que les Systèmes qu'il croit avoir à se soucier de l'encodage encodage au format Unicode ou de ou de quoi que ce soit.
Quelle est la façon la plus simple pour OBTENIR des données à partir d'une URL et de les enregistrer dans un fichier binaire, comme-est?
//This code works, but for ASCII only
String url = "url...";
HttpWebRequest request = (HttpWebRequest)
WebRequest.Create(url);
//execute the request
HttpWebResponse response = (HttpWebResponse)
request.GetResponse();
//we will read data via the response stream
Stream ReceiveStream = response.GetResponseStream();
StreamReader readStream = new StreamReader( ReceiveStream );
string contents = readStream.ReadToEnd();
string filename = @"...";
//create a writer and open the file
TextWriter tw = new StreamWriter(filename);
tw.Write(contents.Substring(5));
tw.Close();
Vous devez vous connecter pour publier un commentaire.
Minimaliste réponse:
Ou en PowerShell (a suggéré dans un anonyme edit):
[System.Net.WebClient]::WebClient
est redondante. Ne pas casser quelque chose, mais pas nécessaire.Il suffit de ne pas utiliser toute la StreamReader ou TextWriter. Enregistrer dans un fichier avec un raw FileStream.
using
).C'est ce que j'utilise: