目前我用来更新推特状态的代码如下...
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 设置。
由于您的代理需要身份验证,唯一的选择是为每个方法指定可选的属性类。
例如:
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);
}
}
关于c# - C# 中 Twitterizer2 的代理身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6833852/