Usando um servidor proxy com fopen

Estou tentando usar fopen para ler um arquivo remoto de outro site. Eu quero usar um proxy para fazer isso, e, tanto quanto eu sei, posso fazer:

$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) 

mas existe uma maneira de autenticar usando um nome de usuário e senha para esse proxy? Ou estou limitado a ter que usar proxies públicos?

Além disso, a definição de proxy é tcp://192.168.10.10:80 . Se eu quisesse usar um proxy HTTP, estou livre para mudá-lo para http://192.168.10.10:80 ?

Obrigado.

Você pode usar a Autorização de Proxy no $context se o proxy precisar de autenticação. Exemplo de PHP.Net :

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

Além disso, acho que você não pode alterar tcp para http em tcp://192.168.10.10:80 desde o que o proxy faz é estabelecer uma conexão TCP para outro servidor em nome de um cliente, em seguida, encaminhar todo o tráfego para a frente e para a frente entre o cliente e O servidor. Obviamente, ele diz respeito a TCP (às vezes UDP) em vez de HTTP.Http proxies apenas “entende” o tráfego entregue pelo protocolo HTTP.