2010-06-11 5 views
0

J'essaie de télécharger un fichier à partir du site https et chaque fois que le fichier est enregistré sur ma machine, il est seulement 1KB. Le fichier est supposé être 1MB. J'utilise Webclient.Télécharger le fichier en utilisant webclient

string strFile = @"c:\myfile.txt"; 
WebClient wc = new WebClient(); 
wc.Credentials = new System.Net.NetworkCredential("userid", "pw"); 
wc.DownloadFile("https://www.mysite.come/myfile.txt", strFile); 

Est-ce que quelque chose me manque?

+1

Avez-vous regardé le contenu du texte? Est-ce le premier 1K du fichier, ou autre chose? –

+2

woa, 6 questions, aucune acceptée ... vous devriez faire quelque chose à ce sujet – ShinTakezou

Répondre

2

AFAIK WebClient par défaut ne met pas la chaîne User-Agent, cela pourrait ennuyer les serveurs; essayez

wc.Headers.Add("User-Agent", "XXX"); 

où vous pouvez ramasser XXX de here.

+0

Qu'est-ce que XXX s'il vous plaît? Est-ce l'adresse https? – user79127

+0

J'ai modifié les codes et il semble me donner le fichier d'information, pas le fichier que je veux. chaîne strFichier = @ "c: \ monfichier.txt"; WebClient wc = new WebClient(); wc.Headers.Add ("User-Agent", "https: //www.mysite.come/"); wc.Credentials = new System.Net.NetworkCredential ("id_utilisateur", "pw"); wc.DownloadFile ("https: //www.mysite.come/myfile.txt", strFichier); – user79127

+0

non XXX est la chaîne de l'agent utilisateur, pas l'adresse: c'est ainsi qu'un navigateur s'identifie auprès d'un serveur http; les scripts peuvent décider de "bloquer" les requêtes en fonction de l'agent utilisateur. La chaîne de l'agent utilisateur ressemble à "Opera/9.80 (Linux i686; U; en-GB) Presto/2.2.15 Version/10.10" ou autre. Il vaut mieux que cela corresponde à celui d'un vrai navigateur. – ShinTakezou

1

C'est votre permission mate, j'ai le même problème, mais personne ne semble vouloir aider à 100% du chemin ... Par permissions, je veux dire que votre système d'exploitation ne permet pas le téléchargement du fichier dans le répertoire c'est pourquoi c'est seulement 1KB.

j'ai obtenu quelque part avec elle soit dit en passant, [PrincipalPermission(SecurityAction.Demand, Role = @"BUILTIN\Administrators")]

Je garde un oeil sur ce fil, car il y a une étiquette qui doit être ajouté, que j'ai cherché, mais ne l'ai pas encore trouvé que, je vous tiendra au courant.

+0

+1 - quelqu'un devrait signaler que l'enregistrement de fichiers dans un répertoire racine est tout simplement stupide – Paul

Questions connexes