मैं http का उपयोग कर स्ट्रिंग डाउनलोड करने के लिए अपने स्रोत कोड में एक वेब क्लाइंट क्लास का उपयोग कर रहा हूं।सी # वेब क्लाइंट और प्रॉक्सी सर्वर
यह ठीक काम कर रहा था। हालांकि, कंपनी के ग्राहक अब प्रॉक्सी सर्वर से जुड़े हुए हैं। और समस्या इससे शुरू हुई।
जब मैंने अपने आवेदन का परीक्षण किया है तो मुझे नहीं लगता कि यह प्रॉक्सी सर्वर से गुज़र सकता है, क्योंकि अपवाद जो फेंक रहा है वह है "xxx.xxx.xxx.xxx से कोई प्रतिक्रिया नहीं है जो प्रॉक्सी सर्वर आईपी पता है।
हालांकि, मैं अभी भी वेब साइट URL पर पहुंच सकते हैं और यह जब किसी प्रॉक्सी सर्वर से जोड़ने ब्राउज़र में सही ढंग से प्रदर्शित करता है स्ट्रिंग है, लेकिन जब मैं अपने वेब ग्राहक का उपयोग करें।
वहाँ वेब में कुछ है क्लाइंट जिसे मुझे प्रॉक्सी सर्वर के पीछे से यूआरएल तक पहुंचने की अनुमति देने के लिए कॉन्फ़िगर करना है?
using (WebClient wc = new WebClient())
{
string strURL = "http://xxxxxxxxxxxxxxxxxxxxxxxx";
//Download only when the webclient is not busy.
if (!wc.IsBusy)
{
string rtn_msg = string.Empty;
try
{
rtn_msg = wc.DownloadString(new Uri(strURL));
return rtn_msg;
}
catch (WebException ex)
{
Console.Write(ex.Message);
return false;
}
catch (Exception ex)
{
Console.Write(ex.Message);
return false;
}
}
else
{
System.Windows.Forms.MessageBox.Show("Busy please try again");
return false;
}
}
आदर्श रूप में, WebClient भी एक बयान का उपयोग करने में होना चाहिए के रूप में यह IDisposable लागू करता है। हालांकि उपयोगी पोस्ट। – Orphid
ऑर्फीड से अधिक स्पष्ट होने के लिए; उपर्युक्त कोड (जो पूरी तरह से वैध है) के साथ वेब क्लाइंट पर 'डिसस्पेस' कॉल करना न भूलें! साथ ही, वेबप्रॉक्सी में एक कन्स्ट्रक्टर ओवरलोड है जो एक दूसरे नंबर के रूप में पोर्ट नंबर लेता है – user3791372