laravel(라라벨)

[9] laravel - curl전송(외부사이트)_2

너개발 2024. 6. 20. 10:47
728x90

[ 환경 ]
ㄴ laravel 10.48.9

[ 과정 ]

1. web에서 route(get)로 view호출(curl전송폼)

2. 전송폼에서 curl api값 입력

3. web에서 route(post)로 curl controller 호출

4. curl controller 페이지에서 curl api 전송 코드 실행

5. 최종 - 로컬에서 결과확인(외부사이트의 출력문을 로컬에서 확인)

 

https://kuk1938.tistory.com/54

 

[8] laravel - curl api전송(외부사이트)_1

[ 환경 ]ㄴ laravel 10.48.91.  curl의 값 전송폼 생성(html파일) ㄴ html파일 생성완료 - curl1.php 2.  web페이지에서 curl1.php 호출Route::get('/api/curl', function () { // /api/curl 경로를 입력하여 페이지 호출 return vi

kuk1938.tistory.com

ㄴ html파일 및 curl전송, 출력 동일 사용.

 


 

1.  web에서 route(get)로 view호출(curl전송폼)

Route::get('/api/curl', function () { // /api/curl 경로를 입력하여 페이지 호출
    return view('/curl/curl1'); // views에 생성해둔 curl 폼 html파일 view로 호출
});

 

2.  폼에서 curl api값 입력

ㄴ 정보 입력 완료

 

3.  web에서 route(post)로 curl controller 호출

// curl controller
Route::post('/test/curl1', 'App\Http\Controllers\curl@curl');

 

ㄴ 폼 action의 경로를 입력 후 생성한 controller의 함수를 호출한다.

 

php artisan make:controller curl

ㄴ controller 생성

 

4.  curl controller에서 curl api 전송 코드 실행

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class curl extends Controller
{
    public function curl(){

	    $data = []; // curl전송할 데이터를 담을 빈배열 생성
	    $data['name'] = $_POST['name']; // key - name  value - name
	    $data['tel'] = $_POST['tel']; // key - tel  value - tel
	    $data['memo'] = $_POST['memo']; // key - memo  value - memo

	    $site_url = "http://?????.????.????/curl2.php"; // 다른 사이트에서 확인.

	    $ch = curl_init(); // 세션 초기화 함수.
	    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // curl_exec반환 값 설정 (1일시 문자열로 변환)
	    curl_setopt($ch, CURLOPT_POST, 1); // 메서드 설정 1-post/2-get
	    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // SSL인증서 유효성검사 설정X
	    curl_setopt($ch, CURLOPT_POSTFIELDS, $data); // post방식으로 담은 데이터 
	    curl_setopt($ch, CURLOPT_URL, $site_url); // curl 전송할 url경로

	    $res = curl_exec($ch); // curl 실행 함수
	    $error = curl_error($ch); // 에러 확인

	    // 에러체크
	    if($error){ 
	    	die("에러 : ".$error); // 에러 시에 에러문 띄우고 die
	    }else{
	    	return $res; // curl 결과 최종리턴
	    }
	    curl_close($ch); // curl 종료 함수.

    }
}

ㄴ curl함수를 생성하여 web.php에서 함수 바로 사용 할 수 있도록 진행.

ㄴ curl전체 코드를 실행하여 외부사이트로 전송

 

5.  최종 - 로컬에서 결과확인(외부사이트의 출력문을 로컬에서 확인)

 

ㄴ 정상 출력완료. (외부사이트 출력문 지난번 포스팅 확인)

https://kuk1938.tistory.com/54

 

[8] laravel - curl api전송(외부사이트)_1

[ 환경 ]ㄴ laravel 10.48.91.  curl의 값 전송폼 생성(html파일) ㄴ html파일 생성완료 - curl1.php 2.  web페이지에서 curl1.php 호출Route::get('/api/curl', function () { // /api/curl 경로를 입력하여 페이지 호출 return vi

kuk1938.tistory.com

 

728x90