Laravel 我可以隐藏实际的下载链接吗?

Laravel 我可以隐藏实际的下载链接吗?,laravel,Laravel,在Laravel中是否有任何方法可以使用我的URL进行下载,同时隐藏我正在使用的另一个网站的实际下载URL 我读过很多隐藏自己url的方法,但找不到隐藏外部url的方法。我想隐藏此外部站点下载URL: 路线 查看 {!!Form::open(array('url' => '/registration')) !!} {!! Form::hidden('course_id', '1') !!} {!! Form::submit('registration') !!} {!! F

在Laravel中是否有任何方法可以使用我的URL进行下载,同时隐藏我正在使用的另一个网站的实际下载URL

我读过很多隐藏自己url的方法,但找不到隐藏外部url的方法。我想隐藏此外部站点下载URL:

路线

查看

{!!Form::open(array('url' => '/registration')) !!}
    {!! Form::hidden('course_id', '1') !!}
    {!! Form::submit('registration') !!}
{!! Form::close() !!}
<li>
    <a  href="{{route('registration',['course_id' => Crypt::encrypt('1') ])}}">A</a>
</li>
控制器

public function getregistration(Request $request)
{   
    $course_id = $request->input('course_id');
    return view('index')->with('course_id',$course_id);
}
public function getregistration($course_id)
{    
    $course_id = Crypt::decrypt($course_id);    
    return view('index')->with('course_id',$course_id);
}
获取方法 使用加密方法,它将在url中显示加密的id

查看

{!!Form::open(array('url' => '/registration')) !!}
    {!! Form::hidden('course_id', '1') !!}
    {!! Form::submit('registration') !!}
{!! Form::close() !!}
<li>
    <a  href="{{route('registration',['course_id' => Crypt::encrypt('1') ])}}">A</a>
</li>

正如@marekful所解释的,您可以在服务器端下载该文件,然后根据新创建的文件的URL提示下载

使用Laravel的GuzzleHttp:

$local_file = fopen('./local_file.txt', 'w');
$client = new \GuzzleHttp\Client();
$client->get('https://external-site.com/file.txt', ['sink' => $local_file]);

向您的服务器发送请求,让它使用您不想透露的URL下载内容,并将内容返回给您的用户。@marekful任何示例都将不胜感激:-)您控制服务器a,内容在服务器B上。您不希望显示指向第三方服务器B上内容的urlB。因此,您可以在指向服务器A的网站上呈现urlA。当用户单击urlA时,请求将由服务器A处理。ServerA知道urlB,它向serverB上的内容发出请求,并返回它以响应用户请求的urlA。关键是,从serverB下载内容不会直接发生在用户的浏览器上,因此用户不需要知道urlB。下载发生在你的服务器上。@marekful请给我举个例子,这样我就可以很容易地理解兄弟,我是拉雷维尔的新手。@Nishantz:你可能误解了这个社区的工作,我们鼓励您从这里开始:这里的任何人都不可能为您提供完整的工作解决方案,您可以将其复制/粘贴到您自己的应用程序中。由于这一要求,这个问题基本上过于宽泛,无法在这里得到有意义的回答。相反,我们鼓励您尝试一下。上面的评论描述了要分解为单个组件的整个流程。如果您在任何工件上遇到特定错误,我们可以提供帮助。