मेरे पास उपयोग की जा रही सेवा के लिए एक कस्टम HTTP कक्षा है। आखिरकार इसमें विधियों के रूप में सेवा विशिष्ट अनुरोध होंगे। मुझे जो करना है वह उपयोगकर्ता द्वारा प्रदान की गई प्रॉक्सी के प्रमाण-पत्र सेट करता है, उदाहरण के लिए यदि उपयोगकर्ता की प्रॉक्सी सूची है।वेबप्रॉक्सी को प्रमाण पत्र पास करना?
नीचे मेरा कोड है। मैंने उस भाग पर टिप्पणी की है जिसे मुझे प्रमाण-पत्र सेट करने की आवश्यकता है। मैंने एमएसडीएन पर iCredentials क्लास को देखा है लेकिन मैं नहीं देख सकता कि उन्हें स्ट्रिंग से कैसे सेट किया जाए।
class RequestClass
{
private CookieContainer cookieJar;
private WebProxy proxy = null;
public RequestClass()
{
this.cookieJar = new CookieContainer();
}
public RequestClass(String proxyURL, int port)
{
this.proxy = new WebProxy(proxyURL, port);
}
public RequestClass(String proxyURL, int port, String username, String password)
{
this.proxy = new WebProxy(proxyURL, port);
// Need to set them here
}
// HTTP Get Request
public HttpWebResponse getRequest(String url, NameValueCollection headers)
{
HttpWebRequest getRequest = (HttpWebRequest)WebRequest.Create(url);
getRequest.Method = "GET";
getRequest.CookieContainer = cookieJar;
foreach (String key in headers.Keys)
{
getRequest.Headers.Add(key, headers[key]);
}
return (HttpWebResponse)getRequest.GetResponse();
}
// HTTP Post Request
public HttpWebResponse postRequest(String url, String postData, NameValueCollection headers)
{
byte[] postBytes = Encoding.ASCII.GetBytes(postData);
HttpWebRequest postRequest = (HttpWebRequest)WebRequest.Create(url);
postRequest.Method = "POST";
postRequest.CookieContainer = cookieJar;
postRequest.ContentLength = postBytes.Length;
postRequest.ProtocolVersion = HttpVersion.Version10;
foreach(String key in headers.Keys)
{
postRequest.Headers.Add(key, headers[key]);
}
Stream postRequestStream = postRequest.GetRequestStream();
postRequestStream.Write(postBytes, 0, postBytes.Length);
postRequestStream.Close();
return (HttpWebResponse)postRequest.GetResponse();
}
}
}
मैं सिर्फ इससे पहले कि मैं एक जवाब के लिए ताजा कर NetworkCredential के बारे में पढ़ रहा था। मुझे लगता है कि आप सही हैं, ऐसा करने का यही तरीका है। मैं इसे एक परीक्षा दूंगा। –