![](/img/trans.png)
[英]Can I use Linfu dynamic proxy to proxy an interface with generic parameters?
[英]How can i use with proxy?
我是Anglesharp的新手。 我在文档中尝试了代理更改,但没有成功。 现在,我正在使用它,它可以与webclient一起很好地工作,但是不能与AngleSharp一起工作。
我正在尝试的代码是;
var handler = new HttpClientHandler()
{
Proxy = new WebProxy(String.Format("{0}:{1}", "myProxy", "myPort"), false),
PreAuthenticate = true,
UseDefaultCredentials = false,
};
var config = Configuration.Default.WithJs().WithCookies().WithDefaultLoader().With(handler);
//Create a new context for evaluating webpages with the given config
var context = BrowsingContext.New(config);
var document = await context.OpenAsync("https://api.ipify.org?format=json");
Console.WriteLine(document.DocumentElement.OuterHtml);
我没有收到任何错误,代理无法正常工作。 我正在获取原始IP,而不是代理。 但是使用WebClient可以很好地工作。
您只需在AngleSharp的配置中添加一些内容( handler
,即HttpClientHandler
实例),即可在AngleSharp中使用。
首先,AngleSharp的内部HTTP客户端仅是默认客户端。 出于兼容性原因,如果使用HttpWebRequest
则AngleSharp不能随HttpClient
一起提供。 这也允许您设置代理。
现在,如果您想使用代码,建议您使用AngleSharp.Io( https://www.nuget.org/packages/AngleSharp.Io或https://github.com/AngleSharp/AngleSharp.Io )。 这非常简单直接:
var handler = new HttpClientHandler
{
Proxy = new WebProxy(String.Format("{0}:{1}", "myProxy", "myPort"), false),
PreAuthenticate = true,
UseDefaultCredentials = false,
};
var config = Configuration.Default
.WithRequesters(handler)
.WithDefaultLoader()
.WithJs()
.WithTemporaryCookies()
.WithDefaultLoader();
var context = BrowsingContext.New(config);
var document = await context.OpenAsync("https://api.ipify.org?format=json");
Console.WriteLine(document.DocumentElement.OuterHtml)
仅添加.WithRequesters(handler)
。 这将添加来自AngleSharp.Io的请求者。 通过提供handler
我们可以配置HttpClient
。
希望有帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.