में एचटीएमएल स्रोत कैसे डाउनलोड कर सकता हूं मैं एचटीएमएल स्रोत को सी # में वेब पता कैसे प्राप्त कर सकता हूं?मैं सी #
मैं सी #
उत्तर
आप WebClient class साथ फ़ाइलों को डाउनलोड कर सकते हैं:
using System.Net;
//...
using (WebClient client = new WebClient()) // WebClient class inherits IDisposable
{
client.DownloadFile("http://yoursite.com/page.html", @"C:\localfile.html");
// Or you can get the file content without saving it:
string htmlCode = client.DownloadString("http://yoursite.com/page.html");
//...
}
मूल रूप से:
using System.Net;
using System.Net.Http; // in LINQPad, also add a reference to System.Net.Http.dll
WebRequest req = HttpWebRequest.Create("http://google.com");
req.Method = "GET";
string source;
using (StreamReader reader = new StreamReader(req.GetResponse().GetResponseStream()))
{
source = reader.ReadToEnd();
}
Console.WriteLine(source);
"सेमी" जिस तरह से और अधिक हाल है, एमएस वेबसाइट
में सुझाव दिया है, लेकिन मैं एक समस्या थी हल करने के लिए मुश्किल, चौड़ाई दोनों विधि यहां पोस्ट की गई
अब मैं solu पोस्ट सभी के लिए टयन!
समस्या: अगर आप इस तरह एक यूआरएल का उपयोग करें: कुछ मामले में "www.somesite.it/?p=1500" आप हालांकि वेब ब्राउज़र इस "www में कोई आंतरिक सर्वर त्रुटि (500) मिलता है। somesite.it/?p=1500 "पूरी तरह से काम करते हैं।
समाधान: आप मानकों (हाँ आसान है) बाहर ले जाने के लिए है, काम कर कोड है:
using System.Net;
//...
using (WebClient client = new WebClient())
{
client.QueryString.Add("p", "1500"); //add parameters
string htmlCode = client.DownloadString("www.somesite.it");
//...
}
यहां आधिकारिक दस्तावेज: http://msdn.microsoft.com/en-us/library/system.net.webclient.querystring.aspx
आप के साथ इसे प्राप्त कर सकते हैं:
var html = new System.Net.WebClient().DownloadString(siteUrl)
लघु और मीठा! जो अल्बाहारी के उदाहरण को पढ़ने के बाद मुझे आपका सुझाव मिला। LINQPad> सहायता> नया क्या है, और कैश की खोज करें। – Colin
var html = new System.Net.WebClient()। डाउनलोडस्ट्रिंग (siteUrl); // अपने ग्राहक को नया करने की जरूरत है! – user1328350
क्या यह 'वेब क्लाइंट' का निपटान करता है? –
यह पोस्ट वास्तव में पुराना है (यह 7 साल का है जब मैं हूं इसका जवाब देना), इसलिए अन्य समाधानों में से कोई भी नया और अनुशंसित तरीका नहीं था, जो HttpClient
वर्ग है।
HttpClient
नई एपीआई माना जाता है और यह कैसे HttpClient
वर्ग (विशेष रूप से async मामलों में) का उपयोग करने के बारे में अधिक जानकारी के लिए, आप उल्लेख कर सकते हैं के लिए एक पुरानी WebClient
और WebRequest
string url = "page url";
using (HttpClient client = new HttpClient())
{
using (HttpResponseMessage response = client.GetAsync(url).Result)
{
using (HttpContent content = response.Content)
{
string result = content.ReadAsStringAsync().Result;
}
}
}
बदलना चाहिए this question
- 1. मैं सी ++ से सी #
- 2. मैं सी/उद्देश्य सी
- 3. मैं सी ++
- 4. मैं सी #
- 5. मैं सी ++
- 6. मैं सी #
- 7. मैं सी #
- 8. मैं सी #
- 9. मैं सी #
- 10. मैं सी ++
- 11. मैं सी #
- 12. मैं सी #
- 13. मैं सी #
- 14. मैं सी #
- 15. मैं सी
- 16. मैं सी #
- 17. मैं सी #
- 18. मैं सी #
- 19. मैं सी #
- 20. मैं सी #
- 21. मैं सी #
- 22. मैं सी #
- 23. मैं सी #
- 24. ++ मैं + ++ मैं जावा में + ++ मैं बनाम सी
- 25. मैं LINQ (सी # 3.0)
- 26. मैं उद्देश्य-सी
- 27. मैं कैसे सी #
- 28. मैं सी # टेक्स्टबॉक्स
- 29. मैं उद्देश्य-सी
- 30. मैं मोंगोडीबी सी # ड्राइवर
ध्यान दें: यदि अधिक नियंत्रण की आवश्यकता है, तो HttpWebRequest क्लास (उदाहरण के लिए प्रमाणीकरण निर्दिष्ट करने में सक्षम होना) देखें। – Richard
हां, HttpWebRequest आपको अधिक नियंत्रण देता है, हालांकि आप क्लाइंट का उपयोग कर वेब क्लाइंट के साथ POST अनुरोध कर सकते हैं। अपलोड करेंडाटा (uriString, "POST", postParamsByteArray); – CMS
क्या यह वेबएक्सप्शन को इसके आसपास पकड़ने के लिए समझदार नहीं होगा? शायद यह माना गया था। इस विधि के साथ किसी भी अन्य अपवाद या त्रुटियों को पकड़ा जाना चाहिए? –