我有一个自定义HTTP类用于我正在使用的服务.最终它将以方法的形式包含特定于服务的请求.我需要做的是设置用户提供的代理的凭据,例如,如果用户有代理列表.
以下是我的代码.我已经评论了我需要设置凭据的部分.我查看了MSDN上的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();
}
}
Run Code Online (Sandbox Code Playgroud)
}
Skl*_*vvz 26
我认为这应该有效:
public RequestClass(String proxyURL, int port, String username, String password)
{
//Validate proxy address
var proxyURI = new Uri(string.Format("{0}:{1}", proxyURL, port));
//Set credentials
ICredentials credentials = new NetworkCredential(username, password);
//Set proxy
this.proxy = = new WebProxy(proxyURI, true, null, credentials );
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16343 次 |
| 最近记录: |