[9] laravel - curl전송(외부사이트)_2
[ 환경 ]
ㄴ 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