[英]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.