.NET Framework 앱에서 ID/Password 인증이 있는 프록시 돌파
10263 단어 BOX.NETCore.NETFrameworkC#프록시
하고 싶었던 코트
할 수 없었던 코토
.Net Framework application
에서는 구성 파일 (App.config)을 사용하여 프록시를 설정할 수 있습니다..Net Core console application
에서는 이것 (App.config에서 프록시 설정)이 구현되지 않았습니다.한 코토
App.config에서 프록시를 설정하는 방법
프록시 설정이 없는 경우
defaultProxy 항목 자체가 없을 수 있습니다.
<system.net>
<defaultProxy enabled="false" useDefaultCredentials="false">
</defaultProxy>
</system.net>
프록시 설정이있는 경우 (인증 없음)
참고 : htps : // / cs. 미 c 로소 ft. 코 m / 자 jp / t t t / f 라메를 rk / 콘후 쿠레 - 아 ps / 후 ぇ ぇ s ぇ 마 / 네토 rk / p 로 xy - 에멘 t -ぉrk-세친gs
<system.net>
<defaultProxy enabled="true" useDefaultCredentials="true">
<proxy usesystemdefault="true"/>
</defaultProxy>
</system.net>
프록시 설정 (인증 있음)
참고 : htps : // / cs. 미 c 로소 ft. 코 m / 그럼 jp / t t t / f 라메를 rk / 콘후 쿠레 아 ps / 후 ぇ ぇ s ぇ 마 / 네토 rk / 모즈 ぇ - 에멘 t -ぉrk-세친gs
<appSettings>
<add key="http_proxy_url" value="http://[IP]:[Port]"/>
<add key="proxy_user" value="hoge"/>
<add key="proxy_pass" value="fuga"/>
</appSettings>
<system.net>
<defaultProxy enabled="true" useDefaultCredentials="false">
<module type="Sample.MyProxyModule, Sample"/>
</defaultProxy>
</system.net>
module 구현 (Sample.MyProxyModule)
using System;
using System.Net;
using System.Configuration;
namespace Sample
{
public class MyProxyModule : IWebProxy
{
/// <summary>
/// 認証情報
/// </summary>
public ICredentials Credentials { get; set; }
/// <summary>
/// ProxyServer名を返却
/// </summary>
/// <param name="destination"></param>
/// <returns></returns>
public Uri GetProxy(Uri destination)
{
return new Uri(ConfigurationManager.AppSettings["http_proxy_url"]);
}
/// <summary>
/// コンストラクタ
/// </summary>
public AuthProxyModule()
{
try
{
Credentials = new NetworkCredential(ConfigurationManager.AppSettings["proxy_user"], ConfigurationManager.AppSettings["proxy_pass"]);
}
catch (Exception ex)
{
// 適宜
throw;
}
}
/// <summary>
/// host でプロキシサーバーを使用しない場合は true。それ以外の場合は false。
/// </summary>
public bool IsBypassed(Uri host)
{
return false;
}
}
}
<appSettings>
<add key="http_proxy_url" value="http://[IP]:[Port]"/>
<add key="proxy_user" value="hoge"/>
<add key="proxy_pass" value="fuga"/>
</appSettings>
참고로 했습니다. 감사합니다
nap3/relayCredentials: 인증 프록시 정보를 릴레이하는 모듈
c# - Is it possible to specify proxy credentials in your web.config? - Stack Overflow
Reference
이 문제에 관하여(.NET Framework 앱에서 ID/Password 인증이 있는 프록시 돌파), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kazumeat/items/9c1d7c9f6bb1ffe0951e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)