웹코딩/php

curl 변수 전달 방법

quantumcode 2024. 8. 18. 19:01
728x90

curl_exec 함수가 반환하는 값을 문자열로 받으려면 CURLOPT_RETURNTRANSFER 옵션을 설정해야 합니다. 이 옵션을 설정하지 않으면 curl_exec는 데이터를 직접 출력하고, 반환 값(boolean)은 true(1)또는 false(2)가 됩니다.

다음은 CURLOPT_RETURNTRANSFER 옵션을 설정하여 curl_exec 함수의 반환 값을 문자열로 받아서 index.html로 전달하는 방법입니다:

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://example.com');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); // 응답을 문자열로 반환
$response = curl_exec($curl);
if ($response === false) {
    echo 'cURL Error: ' . curl_error($curl);
} else {
    echo 'Response: ' . $response;
}
curl_close($curl);

 

php 페이지에서 html페이지로 값을 전달하는 방법: 

1. $SESSION['세션명'] = '값';

2. header('Location: ddd.html'.urldecode('값'));

3. form 태그 사용

 

 

1. $SESSION['세션명'] = '값';

session_start();

$response = curl_exec($curl);
$err = curl_error($curl);
if ($err) {
  echo 'cURL Error #:' . $err;
} else {
  // 데이터 저장
  $_SESSION['response'] = $response;
  header('Location: ./index.html');
}
curl_close($curl);
exit();

 

html에서 가져오는 방식 :

1. 스크립트 생성 방식

<?php
echo "<script type='text/javascript'>
        alert('Hello from PHP!');
      </script>";
?>

 

2. php로 생성후 변수 할당방식

<?php
$data = "Hello, World!";
?>
<!DOCTYPE html>
<html>
<head>
    <title>PHP와 JavaScript</title>
</head>
<body>
    <script type="text/javascript">
        var dataFromPHP = "<?php echo $data; ?>";
        alert(dataFromPHP);
    </script>
</body>
</html>

 

 

2. header('Location: ddd.html'.urldecode('값'))

$response = curl_exec($curl);
$err = curl_error($curl);
if ($err) {
  echo 'cURL Error #:' . $err;
} else {
  // 데이터 전달
  header('Location: ./index.html?response=' . urlencode($response));
}
curl_close($curl);
exit();

html에서 가져오는 방식 :  이동한 url 주소값에서 확인

 

3. form 태그 사용

$response = curl_exec($curl);
$err = curl_error($curl);
if ($err) {
  echo 'cURL Error #:' . $err;
} else {
  // 폼 생성 및 자동 제출
  echo '<form id="redirectForm" method="POST" action="./index.html">';
  echo '<input type="hidden" name="response" value="' . htmlspecialchars($response) . '">';
  echo '</form>';
  echo '<script>document.getElementById("redirectForm").submit();</script>';
}
curl_close($curl);
exit();

html에서 가져오는 방식 :

스크립트 생성 방식

<!DOCTYPE html>
<html>
<head>
    <title>Response Data</title>
</head>
<body>
    <script type="text/javascript">
        // FormData 객체를 사용하여 POST 데이터 읽기
        window.onload = function() {
            var formData = new FormData(document.forms[0]);
            var response = formData.get('response');
            console.log(response); // 콘솔에 출력
            document.getElementById('responseData').innerText = response; // 화면에 출력
        };
    </script>

    <form method="POST">
        <div id="responseData"></div>
    </form>
</body>
</html>

 

 

 

 

'웹코딩 > php' 카테고리의 다른 글

curl  명령어  (0) 2024.08.16