c#中Twitterizer2的代理认证
本文关键字:代理 认证 Twitterizer2 | 更新日期: 2023-09-27 18:03:41
目前我用来更新twitter状态的代码如下…
public static void SendMessage(string message)
{
try
{
tokens = new OAuthTokens();
tokens.AccessToken = "Some Token";
tokens.AccessTokenSecret = "Some Secret";
tokens.ConsumerKey = "Some Key";
tokens.ConsumerSecret = "Some CSecret";
TwitterResponse<TwitterStatus> tweetResponse = TwitterStatus.Update(tokens, message);
}
请告诉我如何在10.0.0.21和端口3128请求用户名和密码的代理上验证自己。
我能够使用以下代码访问网络并从c#应用程序下载网页,但由于这个问题,我无法从twitterizer更新twitter…
WebClient w = new WebClient();
WebProxy p = new WebProxy("10.0.0.21", 3128);
p.Credentials = new NetworkCredential("UserName", "Password");
w.Proxy = p;
string s = w.DownloadString(SomeUrl);
如何在twitterizer2包中做同样的…?它没有从IE获取,因为这个代理需要身份验证。
我不确定如何修改配置文件。还有一个问题,我不会总是在代理后运行这个应用程序,大多数情况下它会在代理外运行。
请帮助。谢谢。
Twitterizer以3种方式处理代理设置。它们是,以便Twitterizer选择使用哪个:
- 每个方法都有一个可选的参数参数。它们都是基于一个类,它有一个代理属性,允许你提供一个web代理,就像你在你的例子中做的一样。如果你有少量的Twitter集成,这是很好的,但显然不适合大型应用程序。
- 您可以在配置文件中使用
<defaultproxy>
元素指定代理。适用于整个应用程序,但不幸的是不能处理身份验证的使用。 - 使用IE默认设置
由于您的代理需要身份验证,因此唯一的选择是为每个方法指定可选的properties类。
例如:public static void SendMessage(string message)
{
try
{
tokens = new OAuthTokens();
tokens.AccessToken = "Some Token";
tokens.AccessTokenSecret = "Some Secret";
tokens.ConsumerKey = "Some Key";
tokens.ConsumerSecret = "Some CSecret";
WebProxy p = new WebProxy("10.0.0.21", 3128);
p.Credentials = new NetworkCredential("UserName", "Password");
StatusUpdateOptions options = new StatusUpdateOptions();
options.Proxy = p;
TwitterResponse<TwitterStatus> tweetResponse = TwitterStatus.Update(tokens, message, options);
}
}