Forum » Programiranje » C#; WebClient class; problem z uploadanjem
C#; WebClient class; problem z uploadanjem
Microsoft ::
Na natu sem sstaknil sledeco kodo:
Console.Write("\nPlease enter the URI to post data to : ");
string uriString = Console.ReadLine();
// Create a new WebClient instance.
WebClient myWebClient = new WebClient();
Console.WriteLine("\nPlease enter the data to be posted to the URI {0}:",uriString);
string postData = Console.ReadLine();
// Apply ASCII Encoding to obtain the string as a byte array.
byte[] postArray = Encoding.ASCII.GetBytes(postData);
Console.WriteLine("Uploading to {0} ...", uriString);
myWebClient.Headers.Add("Content-Type","application/x-www-form-urlencoded");
//UploadData implicitly sets HTTP POST as the request method.
byte[] responseArray = myWebClient.UploadData(uriString,postArray);
// Decode and display the response.
Console.WriteLine("\nResponse received was :{0}", Encoding.ASCII.GetString(responseArray));
...
Ko program pozenes, je portrebno vpisati URI, potem pa se nekaj, kar bo uploadano. No, na PCju imam postavljen IIS, v root datoteki je samo en fajl, Miha.txt. Dovolil sem branje in pisanje, NTFS je Full control za Everyone.
Ko pozenem program, najprej vpisem http://192.168.0.1 (ali pa dodam se /Miha.txt), potem pa se napisem neke crke, recimo. V vrstici, ki je odebeljena, pride do errorja:
Unhandled Expection: System.Net.WebExpection: The remote server returned an error: 405 Method Not Allowed.
at System.Net.HttpWebRequest.CheckFinalstatus()
at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult async Result)
at System.Net.HttpWebRequest.GetResponse()
at System.Net.WebClient.Upload(String address, String method, Byte data)
Kaj bi to lahko bilo krivo? Oz, kako bi v programu preveril, ce lahko zapisujem v dolocen folder oz. datoteko? Ker sem nekje ze srecal, mislim, da WriteAllow (ali nekaj temu podobnega), s cemer preversi, ce lahko zapisujes.
Pa vprasal bi se za kaksen primer, kaj se lahko recimo napise v oklapej v tem ukazu:
myWebClient.Headers.Add("Content-Type","application/x-www-form-urlencoded");
by Miha
Console.Write("\nPlease enter the URI to post data to : ");
string uriString = Console.ReadLine();
// Create a new WebClient instance.
WebClient myWebClient = new WebClient();
Console.WriteLine("\nPlease enter the data to be posted to the URI {0}:",uriString);
string postData = Console.ReadLine();
// Apply ASCII Encoding to obtain the string as a byte array.
byte[] postArray = Encoding.ASCII.GetBytes(postData);
Console.WriteLine("Uploading to {0} ...", uriString);
myWebClient.Headers.Add("Content-Type","application/x-www-form-urlencoded");
//UploadData implicitly sets HTTP POST as the request method.
byte[] responseArray = myWebClient.UploadData(uriString,postArray);
// Decode and display the response.
Console.WriteLine("\nResponse received was :{0}", Encoding.ASCII.GetString(responseArray));
...
Ko program pozenes, je portrebno vpisati URI, potem pa se nekaj, kar bo uploadano. No, na PCju imam postavljen IIS, v root datoteki je samo en fajl, Miha.txt. Dovolil sem branje in pisanje, NTFS je Full control za Everyone.
Ko pozenem program, najprej vpisem http://192.168.0.1 (ali pa dodam se /Miha.txt), potem pa se napisem neke crke, recimo. V vrstici, ki je odebeljena, pride do errorja:
Unhandled Expection: System.Net.WebExpection: The remote server returned an error: 405 Method Not Allowed.
at System.Net.HttpWebRequest.CheckFinalstatus()
at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult async Result)
at System.Net.HttpWebRequest.GetResponse()
at System.Net.WebClient.Upload(String address, String method, Byte data)
Kaj bi to lahko bilo krivo? Oz, kako bi v programu preveril, ce lahko zapisujem v dolocen folder oz. datoteko? Ker sem nekje ze srecal, mislim, da WriteAllow (ali nekaj temu podobnega), s cemer preversi, ce lahko zapisujes.
Pa vprasal bi se za kaksen primer, kaj se lahko recimo napise v oklapej v tem ukazu:
myWebClient.Headers.Add("Content-Type","application/x-www-form-urlencoded");
by Miha
s8eqaWrumatu*h-+r5wre3$ev_pheNeyut#VUbraS@e2$u5ESwE67&uhukuCh3pr
- spremenil: Microsoft ()
64202 ::
Sicer ne uporabljam MSjevih toolov, ampak si zihr, da tale koda dela to kar mislis (da posname podatke v fajl)? Naceloma mora HTTP POST prestreci CGI skripta ali pa Web Service. Ce me spomin ne vara, se za prenose uporablja PUT.
Microsoft ::
To o CGI skriptah nic ne vem. Sem pa zdele poskusil ukaz UploadFile in tudi tu dobim isti error.
Drgace pa te stvari iscem tukaj. Tu sem nekje zasledil, da URI 'podpira' vse, kar se zacne z http. Tako, da ce hocem preko http zapisat neki v fajl.txt, naj ne bi bilo tezav. Ali pac?
Aja, pa DownloadFile dela. No, se vedno pa iscem ukaz, kako programsko preveriti, ce lahko zapisujem v neko datoteko.
by Miha
Drgace pa te stvari iscem tukaj. Tu sem nekje zasledil, da URI 'podpira' vse, kar se zacne z http. Tako, da ce hocem preko http zapisat neki v fajl.txt, naj ne bi bilo tezav. Ali pac?
Aja, pa DownloadFile dela. No, se vedno pa iscem ukaz, kako programsko preveriti, ce lahko zapisujem v neko datoteko.
by Miha
s8eqaWrumatu*h-+r5wre3$ev_pheNeyut#VUbraS@e2$u5ESwE67&uhukuCh3pr
Microsoft ::
Heh, zdej mi pa mece error: (403) Forbidden. In ti mi napise, ce uporabim UploadData ali pa UploadFile. Pa namesto POST sem preizkusil dati OPTIONS, GET, HEAD, PUT, DELETE, TRACE. In pri vecini mi napise zgornji error...
by Miha
by Miha
s8eqaWrumatu*h-+r5wre3$ev_pheNeyut#VUbraS@e2$u5ESwE67&uhukuCh3pr
64202 ::
IIS moras po moje nastavit, da ti bo podpiral uploade, taksne ali drugacne. "FTP style" uploadli niso pretirano obicajni na web serverjih. Sicer, ce te zanima kaj je x-ww-form-...blabla, si preberi opis HTTP protokola. HOWTO-jev je na miljardemiljone in pri tem malo pozabi MS-specific zadeve iz .NETa.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Davčne blagajne (strani: 1 2 3 4 … 24 25 26 27 )Oddelek: Programiranje | 333586 (73589) | Macketina |
» | Socket ServerOddelek: Programiranje | 2443 (1636) | fx |
» | ASP.NET + C# vprašanjeOddelek: Programiranje | 2796 (1810) | Morenov |
» | [C#] Simobilov GlasnikOddelek: Programiranje | 4349 (1429) | Mrch |
» | [.NET ali c#] ne najdem dokumentacijeOddelek: Programiranje | 1471 (1317) | atasmrk |