5

fopen を使用して、別の Web サイトからリモート ファイルを読み取ろうとしています。これを行うためにプロキシを使用したいのですが、私ができる限り:

$context = stream_context_create(array(
    'http' => array(
        'proxy' => 'tcp://192.168.10.10:80' // The proxy server address and port
    ),
));

$file = fopen($url, 'r', false, $context)

しかし、そのプロキシのユーザー名とパスワードを使用して認証する方法はありますか? それとも、パブリック プロキシを使用しなければならないという制限がありますか?

また、プロキシ定義はtcp://192.168.10.10:80. HTTP プロキシを使用したい場合、自由に変更できhttp://192.168.10.10:80ますか?

ありがとう。

4

2 に答える 2

2

プロキシが認証を必要とする場合は、プロキシ認証使用できます。PHP.Netの例:$context

$opts= array(
                 'http' => array( 
                 'proxy' => 'tcp://proxyip:8080', 
                 'header' => array( 
                                     "Proxy-Authorization: Basic $auth" 
                                  ) 
                ) 
); 
$context = stream_context_create($opts); 

tcp://192.168.10.10:80また、プロキシがクライアントに代わって別のサーバーへの TCP 接続を確立し、クライアントとサーバーの間ですべてのトラフィックをやり取りするため、tcp を http に変更することはできないと思います。場合によっては UDP) の代わりに HTTP.Http プロキシを使用して、HTTP プロトコルによって配信されるトラフィックを「理解」します。

于 2013-03-08T04:06:28.787 に答える