i want download 1 image url using console application.
i have used following code:
string sourceurl = "http://i.ytimg.com/vi/pvbnybsui9a/default.jpg"; // not found //string sourceurl = "http://i.ytimg.com/vi/orxzan1fzuy/default.jpg"; // found httpwebrequest request = (httpwebrequest)webrequest.create(sourceurl); httpwebresponse response = null; try { response = (httpwebresponse)request.getresponse(); } catch (exception) { }
above code throws exception in line "response = (httpwebresponse)request.getresponse();"
but when accessing "http://i.ytimg.com/vi/pvbnybsui9a/default.jpg" url in browser image display.
what missing here?
i tried url "http://i.ytimg.com/vi/pvbnybsui9a/default.jpg" in chrome developer tools. receives 404, response includes image, displays.
your code not cause of exception. site returning 404 , code gets exception.
you write logic @ response if 404 , decide whether take anyway, browser does.
it looks can response returned site if catch webexception, allows see http request status , response, per documentation.
example .net 4.5 doc...
try { // creates httpwebrequest specified url. httpwebrequest myhttpwebrequest = (httpwebrequest)webrequest.create(url); // sends httpwebrequest , waits response. httpwebresponse myhttpwebresponse = (httpwebresponse)myhttpwebrequest.getresponse(); if (myhttpwebresponse.statuscode == httpstatuscode.ok) console.writeline("\r\nresponse status code ok , statusdescription is: {0}", myhttpwebresponse.statusdescription); // releases resources of response. myhttpwebresponse.close(); } catch(webexception e) { console.writeline("\r\nwebexception raised. following error occured : {0}",e.status); } catch(exception e) { console.writeline("\nthe following exception raised : {0}",e.message);
webexception has response , status properties. looks .net way deal catch webexception , determine how handle based on status , response content (if necessary).
Comments
Post a Comment