http status code 404 - Httpwebrequest retrieve large data from Exchange public folder -
i having trouble retrieving data larger 200mb exchange public folder: return "http error 500 internal server error", tried change timeout , size limit in iis , exchange server still not working. have ideas? here code:
using system; using system.collections.generic; using system.linq; using system.text; using system.net; using system.io; namespace httpgetitem { class program { static void main(string[] args) { string url = "https://pdc/public/-flaturlspace-/5526a9cc936bd54d93ee89bab89f8ff4-36249d11180/5526a9cc936bd54d93ee89bab89f8ff4-3e1f32ef73e"; int timeout = 3600000 * 2; string = httppost.getresponseasstring(url, timeout); } } public class httppost { static public string getresponseasstring(string url, int timeout) { // httpwebrequest webrequest = (httpwebrequest)system.net.webrequest.create(url); httpwebrequest webrequest = (system.net.httpwebrequest)httpwebrequest.create(url); if (url.tolower().startswith("https:")) system.net.servicepointmanager.certificatepolicy = new trustallcertificatepolicy(); credentialcache mycredentialcache = new credentialcache(); mycredentialcache.add(new system.uri(url), "ntlm", new system.net.networkcredential(getusername(), getpassword(), getdomain()) ); mycredentialcache.add(new system.uri(url), "basic", new system.net.networkcredential(getusername(), getpassword(), getdomain()) ); webrequest.method = "get"; webrequest.headers.add("translate", "f"); webrequest.contenttype = "application/octet-stream"; webrequest.allowautoredirect = true; webrequest.timeout = timeout; webrequest.readwritetimeout = 3600000 * 2; webrequest.useragent = "mozilla/4.0 (compatible; msie 5.01; windows nt 5.0)"; webrequest.preauthenticate = true; webrequest.credentials = mycredentialcache; // webrequest.proxy = new system.net.webproxy("your proxy server", true); // comment out if you're not going thru proxy webresponse webresponse = null; try { webresponse = webrequest.getresponse(); stream stream = webresponse.getresponsestream(); // stream stream = webrequest.getresponsestream(); encoding encoding = system.text.encoding.getencoding("utf-8"); streamreader streamreader = new streamreader(stream, encoding); string result = streamreader.readtoend(); return result; } catch (webexception e) { string message = e.message; if (e.status == webexceptionstatus.protocolerror) { console.write("the server returned protocol error "); // httpwebresponse can check http status code. httpwebresponse httpresponse = (httpwebresponse)e.response; console.writeline((int)httpresponse.statuscode + " - " + httpresponse.statuscode); } stream exstream = e.response.getresponsestream(); encoding encoding = system.text.encoding.getencoding("utf-8"); streamreader streamreader = new streamreader(exstream, encoding); string result = streamreader.readtoend(); console.writeline(e.message); console.writeline(e.stacktrace); return e.message; } } static public httpwebresponse getresponse(string url) { httpwebrequest webrequest = (httpwebrequest)system.net.webrequest.create(url); //webrequest.proxy = new system.net.webproxy("your proxy server", true); // comment out if you're not going thru proxy webrequest.allowautoredirect = true; webrequest.timeout = 1000 * 30; webrequest.useragent = "mozilla/4.0 (compatible; msie 5.01; windows nt 5.0)"; webrequest.preauthenticate = true; webrequest.credentials = credentialcache.defaultcredentials; return (httpwebresponse)webrequest.getresponse(); } }
Comments
Post a Comment