1

私の質問は、それを使用して接続する pac ファイルと .net アプリケーションに関するものです。

基本的に、私は HttpWebRequest を作成するときに HttpWebRequest と HttpWebResponse を持っています。これは、プロキシの背後にいるため、プロキシを使用して外の世界に接続する必要があるためです。したがって、私のプロキシ設定では、PAC ファイルを使用して正しいアドレスを取得する必要がありますが、pac ファイルを使用すると次のエラーが発生します。

{"The underlying connection was closed: An unexpected error occurred on a receive."}

内部例外:

{"Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host."}

PACファイルの間違った使用と関係があると確信しています。たとえば、pacファイルからプロキシIPアドレスを取得すると接続できますが、もちろん接続するルールとしてpacファイルを使用したいからですインターネット。

これが私のコードです:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(fileUrl);                request.Method = "GET";
            request.AllowAutoRedirect=true;
            request.CookieContainer = new CookieContainer();
            request.KeepAlive = true;
            WebProxy proxy = new WebProxy("http://.../proxy.pac");                
            NetworkCredential networkCredential = new NetworkCredential(UsrData.username, UsrData.password);
            proxy.Credentials = networkCredential;

            request.Proxy = proxy;

            using (HttpWebResponse webResponse = (HttpWebResponse)request.GetResponse())
            {
              ....
            }
           }

リクエストのために、ここに pac の短いバージョンを示します。

function FindProxyForURL(url, host)
{
if ( shExpMatch(host,"bbcs.companyname.com"))
        return  "PROXY 158.169.10.11:8010; "+
                "PROXY 158.169.132.11:8010";


if ( !shExpMatch(host,"*.*") ||
      shExpMatch(host,"intragate*.compname.com") ||
      shExpMatch(host,"127.0.0.*") ||
      shExpMatch(host,"10.*.*.*") ||
      shExpMatch(host,"192.168.*") ||
      shExpMatch(host,"139.191.*") ||
   )
        return "DIRECT";


if (isInNet(myIpAddress(), "158.166.0.0","255.255.128.0") ||
        isInNet(myIpAddress(), "158.168.0.0", "255.255.0.0"))
                return  "PROXY 158.165.132.13:8010; " +
                                "PROXY 158.165.5.11:8010";


else 
        return  "PROXY 158.169.10.11:8010; " +
                "PROXY 158.169.132.11:8010";
}

私は何が恋しいですか?

PacTester を使用していくつかの URL にサーフィンすると、PROXY + ip が返されます。これが PROXY という単語を返す原因になるのでしょうか? また、itp は「http://ip...」とは異なり、完全に正しいパスではありません。

4

0 に答える 0