का उपयोग कर स्ट्रिंग में वेबसाइट डाउनलोड करना मैं वेबसाइट की सामग्री डाउनलोड करने का प्रयास कर रहा हूं। हालांकि एक निश्चित वेबपृष्ठ के लिए वापस स्ट्रिंग में जंबल डेटा होता है, जिसमें कई वर्ण होते हैं।सी # सी # वेब क्लाइंट या HttpWebRequest
यहां वह कोड है जिसका मैं मूल रूप से उपयोग कर रहा था।
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
using (WebClient client = new WebClient())
using (var read = client.OpenRead(url))
{
doc.Load(read, true);
}
खोज मुझे लगता है कि इस एन्कोडिंग के साथ कोई समस्या हो सकती से, तो मैं करने की कोशिश की दोनों समाधान नीचे किंतु पोस्ट:
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(url);
req.Method = "GET";
req.UserAgent = "Mozilla/5.0 (Windows; U; MSIE 9.0; WIndows NT 9.0; en-US))";
string source;
using (StreamReader reader = new StreamReader(req.GetResponse().GetResponseStream()))
{
source = reader.ReadToEnd();
}
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(source);
मैं भी वैकल्पिक कार्यान्वयन WebClient साथ एक ही परिणाम की कोशिश की, लेकिन अभी भी काम करने के लिए यह नहीं मिल सकता है।
- http://blogs.msdn.com/b/feroze_daud/archive/2004/03/30/104440.aspx
- http://bytes.com/topic/c-sharp/answers/653250-webclient-encoding
हमलावर साइट है कि मैं डाउनलोड करने के लिए विकिपीडिया का अंग्रेज़ी संस्करण पर United_States लेख है नहीं कर पा रहे (एन। विकिपीडिया। Org/wiki/United_States)। हालांकि मैंने कई अन्य विकिपीडिया लेखों की कोशिश की है और इस मुद्दे को नहीं देखा है।
आपको इसे मैन्युअल रूप से कभी नहीं करना चाहिए, यह पहले से ही बनाया गया है, यानी यह उत्तर देखें : http://stackoverflow.com/questions/2973208/automatically-decompress-gzip-response-via-webclient-downloaddata – BrokenGlass
@ ब्रोकनग्लस संकेत के लिए धन्यवाद। मुझे पहले ही आश्चर्य हुआ कि मुझे पहले कभी gzip एन्कोडिंग के साथ समस्या क्यों नहीं थी। – Peter
धन्यवाद, यह मेरे लिए काम किया! – EnISeeK