programing

Larlabel로 반환되는 외부 URL로 리디렉션

powerit 2023. 10. 25. 23:49
반응형

Larlabel로 반환되는 외부 URL로 리디렉션

SMS INDIA HUB API를 사용하여 사용자에게 1회 비밀번호를 보내려고 합니다.이를 위해 URL 형식으로 리디렉션해야 합니다.

http://cloud.smsindiahub.in/vendorsms/pushsms.aspx?user=abc&password=xyz&msisdn=919898xxxxxx&sid=SenderId&msg=test%20message&fl=0&gwid=2

이 URL을 로드하면 메시지가 반환됩니다.그 메시지를 전달해야 합니다.

이렇게 해봤습니다.

$url = "http://cloud.smsindiahub.in/vendorsms/pushsms.aspx?user=wwww&password=eee&msisdn=9197xxxxx&sid=yyyyy&msg=rrrrr&fl=0&gwid=2";

return Redirect::intended($url);

그러나 그것은 그 링크로 지시하는 것이 아닙니다.이 URL을 localhost에 로드하려고 합니다.

아니면 SMS INDIA HUB를 이용하여 SMS를 보낼 수 있는 플러그인이 있습니까?

누가 도와줄 수 있습니까?

다음과 같이 URL로 리디렉션할 수 있어야 합니다.

return Redirect::to($url);

여기에 있는 Laravel 문서에서 리디렉션에 대해 읽을 수 있습니다.

Laravel 5.x 이상의 경우

return redirect()->away('https://www.google.com');

문서에 명시된 바와 같이:

응용프로그램 외부의 도메인으로 리디렉션해야 하는 경우도 있습니다.추가 URL 인코딩, 검증 또는 확인 없이 Redirect Response를 만드는 away method를 호출하여 이렇게 할 수 있습니다.

리디렉션할 URL 정의$url

그럼 그냥 써요.

return Redirect::away($url);

보기 내부로 리디렉션하려면 다음을 사용합니다.

return Redirect::to($url);

여기서 리디렉션에 대해 자세히 보기

업데이트 1:

여기 간단한 예가 있습니다.

return Redirect::to('http://www.google.com');

업데이트 2:

질문자가 같은 페이지로 돌아가기를 원하기 때문에

$triggersms = file_get_contents('http://www.cloud.smsindiahub.in/vendorsms/pushsms.aspx?user=efg&password=abcd&msisdn=9197xxx2&sid=MYID&msg=Hello');
return $triggersms;

사용가능Redirect::away($url)

Laravel 5.x의 경우에는 다음과 같이 리다이렉트할 수 있습니다.

return redirect()->to($url);

수업 추가하기

use Illuminate\Http\RedirectResponse;

다음과 같이 말입니다.

public function show($id){
    $link = Link::findOrFail($id);  // get data from db table Links
    return new RedirectResponse($link->url);  // and this my external link, 
}

아니면

return new RedirectResponse("http://www.google.com?andParams=yourParams"); 

외부 링크의 경우 'http'가 시작되는 전체 URL 문자열을 사용해야 합니다.

관성 JS를 사용하는 경우,away()관성에서 볼 수 있듯이 접근 방식이 작동하지 않습니다.JS github, 그들은 관성 JS에서 "외부 방향 전환"을 만드는 가장 좋은 방법을 논의하고 있습니다. 현재 해결책은 409 상태를 반환하는 것입니다.X-Inertia-Location다음과 같이 URL을 알리는 헤더:

return response('', 409)
            ->header('X-Inertia-Location', $paymentLink);

여기서 paymentLink는 사용자를 보낼 링크입니다.

출처 : https://github.com/inertiajs/inertia-laravel/issues/57#issuecomment-570581851

라라벨 8의 경우에도 사용할 수 있습니다.

Route::redirect('/here', '/there');
//or
Route::permanentRedirect('/here', '/there');

이것은 외부 URL에서도 작동합니다.

return Redirect::away($url);리다이렉트 작업을 해야 합니다.

또한.return Redirect::to($url);보기 안쪽으로 리디렉션합니다.

언급URL : https://stackoverflow.com/questions/28642753/redirect-to-external-url-with-return-in-laravel

반응형