>

Net 4.5에서는 다음과 같은 프록시로 작업하고 있습니다 :

<system.net>
    <!-- -->
    <defaultProxy enabled="true" useDefaultCredentials="false">
        <proxy usesystemdefault="True" proxyaddress="http://192.168.1.1:8888" bypassonlocal="True" autoDetect="False" />
        <module type="CommonLibrary.Proxy.MyProxy, CommonLibrary, Version=1.0.0.0, Culture=neutral" />
    </defaultProxy>
    <settings>
        <httpWebRequest useUnsafeHeaderParsing="true" />
        <servicePointManager expect100Continue="false" />
    </settings>
</system.net>

그러나 asp.net 코어 또는 테스트에서 위와 같은 해결책을 찾을 수 없습니다 누군가 도와주세요?

도움을 주셔서 감사합니다

감사합니다, 감사합니다

  • 답변 # 1

    .net 코어에서 HTTP 프록시를 사용하려면 IWebProxy 를 구현해야합니다.  이것은 System.Net.Primitives.dll 에서 온 것입니다.  어셈블리. project.json 에 추가 할 수 있습니다  아직 없으면

    예 :

    "frameworks": {
        "dotnet4.5": {
          "dependencies": {
            "System.Net.Primitives": "4.3.0"
          }
        }
    }
    
    

    구현은 매우 간단합니다

    public class MyHttpProxy : IWebProxy
        {
            public MyHttpProxy()
            {
               //here you can load it from your custom config settings 
                this.ProxyUri = new Uri(proxyUri);
            }
            public Uri ProxyUri { get; set; }
            public ICredentials Credentials { get; set; }
            public Uri GetProxy(Uri destination)
            {
                return this.ProxyUri;
            }
            public bool IsBypassed(Uri host)
            {
                //you can proxy all requests or implement bypass urls based on config settings
                return false; 
            }
        }
    
    var config = new HttpClientHandler
    {
        UseProxy = true,
        Proxy = new MyHttpProxy()
    };
    //then you can simply pass the config to HttpClient
    var http = new HttpClient(config)
    
    

    체크 아웃 https://msdn.microsoft.com/en-us/library/system.net.iwebproxy(v=vs.100).aspx

  • 답변 # 2

    미들웨어를 사용해야합니다. 이것 좀 보셨나요?

    https://github.com/aspnet/Proxy

    'samples'폴더가 있습니다 : https://github.com/aspnet/Proxy/tree/dev/samples/Microsoft.AspNetCore.Proxy.Samples

    주제에 관한 기타 자료 : http://josephwoodward.co.uk/2016/07/proxying-http-requests-asp-net-core-using-kestrel

    http://overengineer.net/creating-a-simple-proxy-server-middleware-in-asp-net-core

    미들웨어가 당신을 위해 작동합니까?

  • 답변 # 3

    HttpClientHander 를 사용할 수있을 때 프록시를 수동으로 설정하지만 작동합니다 .NET Framework에서와 같이 코드없이 모든 요청을 기본값으로 설정하는 것은 현재 불가능합니다. 이 기능을 제공하지 않는 라이브러리를 사용하는 경우 다소 번거 롭습니다.

    GitHub의 다음 문제는 환경 변수를 사용하여이 기능을 .NET Core에 도입하는 데 있습니다. https://github.com/dotnet/corefx/issues/24574

    현재 구현 상태를 확인하기 위해 해당 문제를 따르는 솔루션을 찾는 사람을 추천합니다.

  • 답변 # 4

    완료되지 않은 다른 해결 방법은 다음과 같습니다.

    웹 서버에 .NET Core 앱을 배포 한 후 (광산은 IIS 임) 루트 폴더에는 실제로 web.config 파일이 있습니다.

    수동으로 추가

    <system.net>
     <defaultProxy useDefaultCredentials="true">
     </defaultProxy>
     </system.net>
    
    

    또는 특정 설정으로 마술을 수행합니다

    하지만 서버에서만 작동합니다. 로컬 빌드가 여전히 작동하지 않습니다.

  • 이전 PHP의 객체 배열에서 특정 데이터 가져 오기
  • 다음 http - 쿠키를 도메인의 모든 하위 도메인 (Domain = sitecom)으로 설정하고 도메인을 하나만 제외시키는 방법이 있습니까?