PHPSeclib代理发送用户名和密码作为参数



Im使用PHPSECLIB向SFTP服务器发送文件和XML。在这种情况下,我试图访问的服务器在我的工作网络之外。要连接到外面的互联网,我们有一个代理。我需要做的是将此连接的代理配置为我需要的代理。

编辑--

我有以下代码,我如何传递我的代理的用户名和密码?

$proxyHost = '******'                             
$fsock = fsockopen($proxyHost, $proxyPort); 
$address = '*****'; 
$port = '*****';
$request = "CONNECT $address:$port HTTP/1.0rnContent-Length: 0rnrn"; 
if(fputs($fsock, $request) != strlen($request)) {
exit("premature termination"); 
}
$response = fgets($fsock); 
$sftp   = new SFTP($fsock);
.......

报价https://github.com/phpseclib/phpseclib/issues/1339#issuecomment-462224179:

有授权:

$fsock = fsockopen('127.0.0.1', 80, $errno, $errstr, 1);
if (!$fsock) {
echo $errstr; exit;
}
fputs($fsock, "CONNECT website.com:22 HTTP/1.0rn");
fputs($fsock, "Proxy-Authorization: Basic " . base64_encode('user:pass') . "rn");
fputs($fsock, "rn");
while ($line = fgets($fsock, 1024)) {
if ($line == "rn") {
break;
}
//echo $line;
}    
$ssh = new Net_SSH2($fsock);
$ssh->login('user', 'pass');
echo $ssh->exec('ls -latr');

如果这不起作用,那么运行脚本并告诉我你得到的标题是什么。摘要式身份验证比基本身份验证更像是一种PITA,但这并非不可能。

有关授权如何使用HTTP代理的更多信息:

https://www.rfc-editor.org/rfc/rfc7235#section-4.3

相关内容

  • 没有找到相关文章

最新更新