c# - HttpWebRequest (200ms) 4 times slower than browser (50ms) -
is there suggestion code. dont know why poor performance. code takes 200 ms while browser 50 ms, follow:
httpwebrequest request = (httpwebrequest)webrequest.create(new uri(url)); request.proxy = null; request.method = "get"; request.accept = "image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap, */*"; request.headers.add("accept-language", "zh-cn"); request.useragent = "mozilla/5.0 (windows nt 5.2) applewebkit/537.36 (khtml, gecko) chrome/33.0.1750.154 safari/537.36"; request.headers.add("accept-encoding", "gzip, deflate"); request.keepalive = true; request.allowautoredirect = false; httpwebresponse response = (httpwebresponse)request.getresponse(); string str; stream st = response .getresponsestream(); if (response .contentencoding.tolower().contains("gzip")) { st = new gzipstream(st, compressionmode.decompress); } streamreader reader = new streamreader(st); str = reader.readtoend(); reader.close(); response.close();
why handling decompression manually? use
request.automaticdecompression = decompressionmethods.gzip | decompressionmethods.deflate;
it 'll add accept-encoding
header , check again after clearing browser cache.
Comments
Post a Comment