Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Succesiune notar versus instanta ...

Montaj aer conditionat in balcon ...

joc idem Half Life gratis

PC game stream catre Nvidia Shiel...
 Pompa de apa HEPU ?!

Vreau o masina electrica de tocat...

Cum ajunge remorca de tir inapoi ...

Alt "Utilizator nou" pe T...
 ULBS INFORMATICA

Index preturi

Boxa membrana tweeter infundata

Am nevoie de poze cu un curcubeu
 Whisky for Mac

Xiaomi 14 Gpay

Izolare zid exterior de scandura

Dezinstalare drivere W11 23H3
 

C# - download file with C# app

- - - - -
  • Please log in to reply
8 replies to this topic

#1
barnas

barnas

    Junior Member

  • Grup: Members
  • Posts: 31
  • Înscris: 30.04.2008
Lucrez acum la un softulet care  este scris in C# - windows form si care ar trebuii sa descarce anumite fisiere de pe web in folderul radacina la evenimentul click.
Mai jos vedeti secventa de cod pe care eu am incercat sa o folosesc:

WebClient myWebClient = new WebClient();
myWebClient.DownloadFile("http:/pagina_mea.ro/soft/fisier.exe", "fisier.exe");


Problema pe care eu o intampin, este ca atunci cand incerc sa descarc de pe host-urile mele personale cu acest softulet, imi face un fisier care de cele mai multe ori are 0kb, sau in cel mai bun caz maxim 14kb... [fisierul care ar trebuii descarcat are 4-5 mb]
Tin sa precizez ca daca schimb linkul "http:/pagina_mea.ro/soft/fisier.exe" cu "https://get2.adobe.c...ha_install.exe" - fisierul va fi descarcat fara nici o problema si salvat in folderul radacina...

Intrebarea mea ar fi: Nu este corecta linia mea de cod sau este ceva in neregula cu hostul de unde incerc sa fac download-ul...?

Multumesc anticipat!

Edited by barnas, 18 April 2015 - 19:15.


#2
potae

potae

    Sorosist frumos si liber

  • Grup: Senior Members
  • Posts: 3,429
  • Înscris: 20.08.2013
Faci vreun virusache?

#3
barnas

barnas

    Junior Member

  • Grup: Members
  • Posts: 31
  • Înscris: 30.04.2008

View Postpotae, on 18 aprilie 2015 - 19:23, said:

Faci vreun virusache?

nuuuuu!! :))
De fapt este o parte a unui program care isi face update singur...

#4
A_L_E_X

A_L_E_X

    Active Member

  • Grup: Members
  • Posts: 1,097
  • Înscris: 18.03.2006
Ia incearca cu un fisier .gif sau .jpg. Site-ul Adobe are https, iar al tau doar http.

#5
_Smiley_

_Smiley_

    Guru Member

  • Grup: Senior Members
  • Posts: 20,025
  • Înscris: 24.02.2006
pentru WebClient.DownloadFile ai network tracing. te poti uita ce informatii da, poate asa-ti dai seama ce se intampla. https://msdn.microso...b3xww8(v=vs.110).aspx

alternativa e sa folosesti HttpWebRequest, iti ofera ceva mai multe optiuni.

#6
tatarduka

tatarduka

    Senior Member

  • Grup: Senior Members
  • Posts: 3,042
  • Înscris: 30.10.2006
Si nu arunca nici o exceptie? E chiar serverul tau sau folosesti ceva site de hosting?

#7
barnas

barnas

    Junior Member

  • Grup: Members
  • Posts: 31
  • Înscris: 30.04.2008

View Posttatarduka, on 20 aprilie 2015 - 11:34, said:

Si nu arunca nici o exceptie? E chiar serverul tau sau folosesti ceva site de hosting?

Nu, nu este serverul meu, ci hosting platit...
Arunca o exceptie gen "403 Error" si am vorbit cu admin-ul de la firma de hosting si mi-a spus ca au ei ceva protectie... si trebuie sa adaug in header-ul softului user agent..., si sincer m-am documnetat, am introdus..., si tot nu merge... :(
Am adaugat liniile de cod:
public string UserAgent { get; set; }
// Create a new 'HttpWebRequest' object to the mentioned URL.
   HttpWebRequest myHttpWebRequest=(HttpWebRequest)WebRequest.Create("http://www.contoso.com");
   myHttpWebRequest.UserAgent=".NET Framework Test Client";
   // Assign the response object of 'HttpWebRequest' to a 'HttpWebResponse' variable.
   HttpWebResponse myHttpWebResponse=(HttpWebResponse)myHttpWebRequest.GetResponse();
   // Display the contents of the page to the console.
   Stream streamResponse=myHttpWebResponse.GetResponseStream();
   StreamReader streamRead = new StreamReader( streamResponse );
   Char[] readBuff = new Char[256];
   int count = streamRead.Read( readBuff, 0, 256 );
   Console.WriteLine("\nThe contents of HTML Page are :\n");
   while (count > 0)
   {
	String outputData = new String(readBuff, 0, count);
	Console.Write(outputData);
	count = streamRead.Read(readBuff, 0, 256);
   }
   // Release the response object resources.
   streamRead.Close();
   streamResponse.Close();
   myHttpWebResponse.Close();


Aveti ceva idee?Posted Image

#8
_Smiley_

_Smiley_

    Guru Member

  • Grup: Senior Members
  • Posts: 20,025
  • Înscris: 24.02.2006
daca folosesti un UA custom, aproape sigur va fi oprit de "protectia" firmei de hosting.

foloseste unul standard, de IE8 sau IE9 : http://blogs.msdn.co...ed-edition.aspx , http://blogs.msdn.co...ent-string.aspx

#9
barnas

barnas

    Junior Member

  • Grup: Members
  • Posts: 31
  • Înscris: 30.04.2008
Va multumesc tuturor pentru sfaturile utile pe care mi le-ati dat!! Cu ajutorul vostru am reusit sa il fac sa functioneze, iar celor care mai cauta dupa aceasta problema, le adaug codul sample jos, sa ii ajut si pe ei:

WebClient wc = new WebClient();
		private void button1_Click(object sender, EventArgs e)
		{
			wc.DownloadFileCompleted += new AsyncCompletedEventHandler(FileDownloadComplete);
			wc.Headers.Add("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0)");
			Uri imageUrl = new Uri("http://siteul_meu.ro/soft/web/TeamViewer.exe");
			wc.UseDefaultCredentials = true;
			wc.DownloadFileAsync(imageUrl, "TeamViewer.exe");
		}
		private void FileDownloadComplete(object sender, AsyncCompletedEventArgs e)
		{
			MessageBox.Show("Complete");
		}



Anunturi

Bun venit pe Forumul Softpedia!

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate