[英]Make HttpClient use app.config defaultProxy
我正在嘗試使用HttpClient
與代理后面的 api 對話。 但是因為代理只對當前環境有效,所以我不希望它被硬編碼。
這就是我目前正在做的事情:
public static HttpClient CreateClient()
{
var cookies = new CookieContainer();
var handler = new HttpClientHandler
{
CookieContainer = cookies,
UseCookies = true,
UseDefaultCredentials = false,
UseProxy = true,
Proxy = new WebProxy("proxy.dev",1234),
};
return new HttpClient(handler);
}
這是我想使用的:
<system.net>
<defaultProxy>
<proxy bypassonlocal="true"
usesystemdefault="false"
proxyaddress="http://proxy.dev:1234" />
</defaultProxy>
</system.net>
是否有可能在 app/web.config 中定義代理並在我的 HttpClient 中按默認使用它?
感謝您的任何想法。
永遠不要在你的應用程序中使用硬編碼設置,你有 app.config ,只需在 appSettings 標簽下添加你的設置:
<appSettings>
<add key="proxyaddress" value="proxy.dev:1234" />
</appSettings>
並在您的應用程序中讀取該密鑰
public static HttpClient CreateClient()
{
readonly static string[] proxyAddress = ConfigurationManager.AppSettings["proxyaddress"].Split(':');
var cookies = new CookieContainer();
var handler = new HttpClientHandler
{
CookieContainer = cookies,
UseCookies = true,
UseDefaultCredentials = false,
UseProxy = true,
Proxy = new WebProxy(proxyAddress[0],proxyAddress[1]),
};
return new HttpClient(handler);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.