Làm cách nào để POST dữ liệu thông qua API trong PHP?

Trước khi trình duyệt gửi thông tin, nó sẽ mã hóa thông tin đó bằng cách sử dụng sơ đồ gọi là mã hóa URL. Trong sơ đồ này, các cặp tên/giá trị được nối với nhau bằng các dấu hiệu bằng nhau và các cặp khác nhau được phân tách bằng dấu và

name1=value1&name2=value2&name3=value3

Dấu cách được xóa và thay thế bằng ký tự + và mọi ký tự không phải chữ và số khác được thay thế bằng giá trị thập lục phân. Sau khi thông tin được mã hóa, nó sẽ được gửi đến máy chủ

Phương thức NHẬN

Phương thức GET gửi thông tin người dùng đã mã hóa được thêm vào yêu cầu trang. Trang và thông tin được mã hóa được phân tách bằng dấu ?

http://www.test.com/index.htm?name1=value1&name2=value2
  • Phương thức GET tạo ra một chuỗi dài xuất hiện trong nhật ký máy chủ của bạn, trong Vị trí của trình duyệt. hộp

  • Phương thức GET bị giới hạn chỉ gửi tối đa 1024 ký tự

  • Không bao giờ sử dụng phương thức GET nếu bạn có mật khẩu hoặc thông tin nhạy cảm khác được gửi đến máy chủ

  • Không thể sử dụng GET để gửi dữ liệu nhị phân, chẳng hạn như hình ảnh hoặc tài liệu từ, tới máy chủ

  • Có thể truy cập dữ liệu được gửi bằng phương thức GET bằng cách sử dụng biến môi trường QUERY_STRING

  • PHP cung cấp mảng kết hợp $_GET để truy cập tất cả thông tin đã gửi bằng phương thức GET

Hãy thử ví dụ sau bằng cách đưa mã nguồn vào kiểm tra. tập lệnh php

";
      echo "You are ". $_GET['age']. " years old.";
      
      exit();
   }
?>

   
   
      
         Name: 
         Age: 
         
      
      
   

Nó sẽ tạo ra kết quả sau -

Làm cách nào để POST dữ liệu thông qua API trong PHP?

Phương thức ĐĂNG

Phương thức POST chuyển thông tin qua các tiêu đề HTTP. Thông tin được mã hóa như mô tả trong trường hợp của phương thức GET và đưa vào tiêu đề có tên QUERY_STRING

  • Phương thức POST không có bất kỳ hạn chế nào về kích thước dữ liệu được gửi

  • Phương thức POST có thể được sử dụng để gửi ASCII cũng như dữ liệu nhị phân

  • Dữ liệu được gửi bằng phương thức POST đi qua tiêu đề HTTP nên tính bảo mật phụ thuộc vào giao thức HTTP. Bằng cách sử dụng HTTP bảo mật, bạn có thể đảm bảo rằng thông tin của mình được bảo mật

  • PHP cung cấp mảng kết hợp $_POST để truy cập tất cả thông tin đã gửi bằng phương thức POST

Hãy thử ví dụ sau bằng cách đưa mã nguồn vào kiểm tra. tập lệnh php

";
      echo "You are ". $_POST['age']. " years old.";
      
      exit();
   }
?>

   
   
      
         Name: 
         Age: 
         
      
   
   

Nó sẽ tạo ra kết quả sau -

Làm cách nào để POST dữ liệu thông qua API trong PHP?

Biến $_REQUEST

Biến PHP $_REQUEST chứa nội dung của cả $_GET, $_POST và $_COOKIE. Chúng ta sẽ thảo luận về biến $_COOKIE khi chúng ta giải thích về cookie

Biến PHP $_REQUEST có thể được sử dụng để lấy kết quả từ dữ liệu biểu mẫu được gửi bằng cả hai phương thức GET và POST

Gần đây tôi đang làm việc trên một dự án mà tôi cần tích hợp API bên ngoài bằng cách sử dụng các yêu cầu HTTP cURL. Đây là lần đầu tiên tôi làm điều này và tôi gặp rất nhiều khó khăn khi tìm hiểu điều này. Tôi đã viết bài đăng này để tôi có thể nhớ các lệnh gọi API cURL của mình cho lần sau và có thể nó cũng có thể giúp ích cho bạn.  

Các hàm và lệnh gọi API tôi đang sử dụng trong bài đăng này đều là các ví dụ hoạt động trên PHP -v 5. 6

Làm cách nào để POST dữ liệu thông qua API trong PHP?

Khái niệm cơ bản về cURL PHP

cURL là viết tắt của ‘Client URL Library’ và nó cho phép bạn kết nối và giao tiếp với nhiều loại máy chủ khác nhau với nhiều loại giao thức khác nhau (HTTP, https, FTP, proxy, cookie,…). Bạn có thể tìm thêm thông tin về cách cURL thực sự hoạt động trong tài liệu PHP chính thức. Bài viết này sẽ cung cấp các ví dụ chuyên sâu hơn để tích hợp các ứng dụng của bạn

Tôi đã nhận được rất nhiều phản hồi về 'cURL thực sự hoạt động như thế nào' và tôi có cảm giác rằng mọi người không biết điều gì đang xảy ra trong lệnh gọi cURL. Trước khi chúng tôi bắt đầu với bài viết và thiết lập cURL của chúng tôi, tôi đã thêm một ví dụ đơn giản về yêu cầu cURL đơn giản. Yêu cầu sẽ trả về phản hồi API dưới dạng chuỗi

// create & initialize a curl session
$curl = curl_init();

// set our url with curl_setopt()
curl_setopt($curl, CURLOPT_URL, "api.example.com");

// return the transfer as a string, also with setopt()
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

// curl_exec() executes the started curl session
// $output contains the output string
$output = curl_exec($curl);

// close curl resource to free up system resources
// (deletes the variable made by curl_init)
curl_close($curl);

Lưu ý rằng chúng tôi đã lưu trữ curl_exec() của mình trong một biến $output. Biến $output này vẫn có sẵn trong chương trình của chúng tôi ngay cả sau khi chúng tôi đóng nó bằng curl_close(). Vì vậy, sau khi chúng tôi thực hiện cuộc gọi của mình và đóng kết nối, chúng tôi vẫn có thể truy cập kết quả bằng cách sử dụng biến $output của mình

Bây giờ chúng ta đã hiểu những điều cơ bản, hãy thử đưa nó vào một chức năng mà chúng ta có thể sử dụng lại trong ứng dụng của mình

Thiết lập cURL PHP

Việc triển khai API bên ngoài vào dự án của bạn có thể sẽ mất nhiều hơn chỉ một lệnh gọi API và từ các trang khác nhau trong dự án của bạn. Đây là lý do tại sao tôi đã tạo một tập lệnh PHP 'đơn giản' cho phép chúng ta gọi hàm này, với một tập hợp các tham số và yêu cầu cURL sẽ được thực hiện

Đảm bảo đặt mã này vào tệp hoặc vị trí mà toàn bộ ứng dụng hoặc trang web của bạn có thể truy cập. (Tôi đã cập nhật chức năng này để chúng tôi có thể xác định các tiêu đề khi chúng tôi thực hiện cuộc gọi. Tôi đã thêm một phần dành cho các tiêu đề tùy chỉnh ở dưới cùng. )

function callAPI($method, $url, $data){
   $curl = curl_init();
   switch ($method){
      case "POST":
         curl_setopt($curl, CURLOPT_POST, 1);
         if ($data)
            curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
         break;
      case "PUT":
         curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PUT");
         if ($data)
            curl_setopt($curl, CURLOPT_POSTFIELDS, $data);			 					
         break;
      default:
         if ($data)
            $url = sprintf("%s?%s", $url, http_build_query($data));
   }
   // OPTIONS:
   curl_setopt($curl, CURLOPT_URL, $url);
   curl_setopt($curl, CURLOPT_HTTPHEADER, array(
      'APIKEY: 111111111111111111111',
      'Content-Type: application/json',
   ));
   curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
   curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
   // EXECUTE:
   $result = curl_exec($curl);
   if(!$result){die("Connection Failure");}
   curl_close($curl);
   return $result;
}

Đây là thiết lập cơ bản để thực hiện lệnh gọi cURL và tôi đang sử dụng câu lệnh switch để kiểm tra xem lệnh gọi API sẽ là POST, PUT hay thứ gì khác (lấy hoặc xóa). Tôi sẽ đi sâu hơn vào trường hợp chuyển đổi trong khi chúng tôi đang thực hiện các yêu cầu cụ thể

Tôi đang sử dụng if-statements bên trong

function callAPI($method, $url, $data){
   $curl = curl_init();
   switch ($method){
      case "POST":
         curl_setopt($curl, CURLOPT_POST, 1);
         if ($data)
            curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
         break;
      case "PUT":
         curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PUT");
         if ($data)
            curl_setopt($curl, CURLOPT_POSTFIELDS, $data);			 					
         break;
      default:
         if ($data)
            $url = sprintf("%s?%s", $url, http_build_query($data));
   }
   // OPTIONS:
   curl_setopt($curl, CURLOPT_URL, $url);
   curl_setopt($curl, CURLOPT_HTTPHEADER, array(
      'APIKEY: 111111111111111111111',
      'Content-Type: application/json',
   ));
   curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
   curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
   // EXECUTE:
   $result = curl_exec($curl);
   if(!$result){die("Connection Failure");}
   curl_close($curl);
   return $result;
}
0 để xem liệu chúng tôi có muốn cung cấp dữ liệu JSON vào cuộc gọi của mình hay không. Đối với yêu cầu POST và PUT, câu lệnh if không thực sự cần thiết vì chúng tôi chỉ sử dụng POST hoặc PUT với dữ liệu, nhưng đó là một biện pháp bảo mật bổ sung để đảm bảo chức năng gọi của chúng tôi sẽ không bị hỏng

PHP cURL NHẬN yêu cầu

Lệnh gọi API đơn giản nhất là lệnh GET, vì vậy hãy bắt đầu với lệnh gọi đó. Hàm callAPI của chúng tôi mong đợi 3 tham số. $method, $url và $data. Chúng tôi cần cung cấp các tham số đó cho tất cả các lệnh gọi API của mình, vì vậy đối với cURL GET, chúng tôi chỉ có thể đặt $data thành false vì chúng tôi không chuyển bất kỳ dữ liệu nào bằng lệnh gọi GET

$get_data = callAPI('GET', 'https://api.example.com/get_url/'.$user['User']['customer_id'], false);
$response = json_decode($get_data, true);
$errors = $response['response']['errors'];
$data = $response['response']['data'][0];

$get_data đã trả về tất cả dữ liệu chúng tôi muốn từ API trong chuỗi json. Tôi đang sử dụng $response để chuyển đổi chuỗi json trở lại mảng PHP có thể sử dụng được. Bạn có thể bỏ qua các bước đó nếu muốn, đây là sở thích cá nhân của tôi. Tôi cũng đang sử dụng các mảng $errors và $data bổ sung để lưu trữ dữ liệu thực và các lỗi

PHP cURL POST yêu cầu

Rõ ràng, một yêu cầu POST yêu cầu dữ liệu. Đảm bảo dữ liệu json của bạn là chính xác, nếu không, yêu cầu sẽ tiếp tục trả về lỗi. Mặc dù… Nếu chúng tôi nhận được lỗi từ API, điều đó có nghĩa là lệnh gọi của chúng tôi đang hoạt động 😉

Trong ví dụ của tôi, tôi đang sử dụng cú pháp CakePHP để thiết lập mảng json của mình, vì vậy đừng bận tâm điều đó

________số 8_______

Bởi vì chúng tôi đang thực hiện lệnh gọi API với dữ liệu json, nên tôi đang chuyển đổi mảng PHP của mình thành chuỗi json với

function callAPI($method, $url, $data){
   $curl = curl_init();
   switch ($method){
      case "POST":
         curl_setopt($curl, CURLOPT_POST, 1);
         if ($data)
            curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
         break;
      case "PUT":
         curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PUT");
         if ($data)
            curl_setopt($curl, CURLOPT_POSTFIELDS, $data);			 					
         break;
      default:
         if ($data)
            $url = sprintf("%s?%s", $url, http_build_query($data));
   }
   // OPTIONS:
   curl_setopt($curl, CURLOPT_URL, $url);
   curl_setopt($curl, CURLOPT_HTTPHEADER, array(
      'APIKEY: 111111111111111111111',
      'Content-Type: application/json',
   ));
   curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
   curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
   // EXECUTE:
   $result = curl_exec($curl);
   if(!$result){die("Connection Failure");}
   curl_close($curl);
   return $result;
}
1. Phản hồi sẽ lại xuất hiện dưới dạng chuỗi json, vì vậy tôi đang sử dụng
function callAPI($method, $url, $data){
   $curl = curl_init();
   switch ($method){
      case "POST":
         curl_setopt($curl, CURLOPT_POST, 1);
         if ($data)
            curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
         break;
      case "PUT":
         curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PUT");
         if ($data)
            curl_setopt($curl, CURLOPT_POSTFIELDS, $data);			 					
         break;
      default:
         if ($data)
            $url = sprintf("%s?%s", $url, http_build_query($data));
   }
   // OPTIONS:
   curl_setopt($curl, CURLOPT_URL, $url);
   curl_setopt($curl, CURLOPT_HTTPHEADER, array(
      'APIKEY: 111111111111111111111',
      'Content-Type: application/json',
   ));
   curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
   curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
   // EXECUTE:
   $result = curl_exec($curl);
   if(!$result){die("Connection Failure");}
   curl_close($curl);
   return $result;
}
2 để chuyển đổi chuỗi json trở lại mảng PHP có thể sử dụng được. Tương tự như chúng ta đã làm trong lệnh GET, vì vậy bạn có thể bỏ qua các bước này một lần nữa nếu bạn không cần chúng

PHP cURL PUT yêu cầu

Yêu cầu PUT gần giống như yêu cầu POST. Tôi gặp khó khăn khi tìm cách chuyển dữ liệu vào lệnh gọi PUT. Nếu chúng ta xem xét hàm callAPI() của mình, bạn sẽ thấy rằng tôi đã thay đổi một số thứ giữa yêu cầu PUT và POST. Chúng ta vẫn có thể sử dụng các tham số giống nhau trong hàm callAPI() như mọi khi

$data_array =  array(
   "amount" => (string)($lease['amount'] / $tenant_count)
);
$update_plan = callAPI('PUT', 'https://api.example.com/put_url/'.$lease['plan_id'], json_encode($data_array));
$response = json_decode($update_plan, true);
$errors = $response['response']['errors'];
$data = $response['response']['data'][0];

PHP cURL XÓA yêu cầu

Yêu cầu xóa lại rất đơn giản. Chúng tôi chỉ có thể truy cập url API bằng $id mà chúng tôi muốn xóa và gặp sự cố… nó sẽ biến mất vĩnh viễn

callAPI('DELETE', 'https://api.example.com/delete_url/' . $id, false);

Điều gì với các tiêu đề linh hoạt?

Ban đầu, chúng tôi đã xác định chức năng callAPI của mình với các tiêu đề đặt trước. Nhưng nếu vì lý do nào đó, chúng ta cần thay đổi tiêu đề một chút cho cuộc gọi khác thì sao? . Do đó, đây là một tùy chọn về cách làm cho các tiêu đề đặt trước linh hoạt

function callAPI($method, $url, $data, $headers = false){
   $curl = curl_init();
   switch ($method){
      ...
   }
   // OPTIONS:
   curl_setopt($curl, CURLOPT_URL, $url);
   if(!$headers){
       curl_setopt($curl, CURLOPT_HTTPHEADER, array(
          'APIKEY: 111111111111111111111',
          'Content-Type: application/json',
       ));
   }else{
       curl_setopt($curl, CURLOPT_HTTPHEADER, array(
          'APIKEY: 111111111111111111111',
          'Content-Type: application/json',
          $headers
       ));
   }
   curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
   curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
   // EXECUTE:
   ...
}

Có 2 sự khác biệt ở đây từ chức năng đầu tiên của chúng tôi. 1. Chúng tôi đã thêm một tham số bổ sung trong chức năng của mình để xác định xem chúng tôi có muốn sử dụng tiêu đề tùy chỉnh hay không. Tôi đặt nó vào

function callAPI($method, $url, $data){
   $curl = curl_init();
   switch ($method){
      case "POST":
         curl_setopt($curl, CURLOPT_POST, 1);
         if ($data)
            curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
         break;
      case "PUT":
         curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PUT");
         if ($data)
            curl_setopt($curl, CURLOPT_POSTFIELDS, $data);			 					
         break;
      default:
         if ($data)
            $url = sprintf("%s?%s", $url, http_build_query($data));
   }
   // OPTIONS:
   curl_setopt($curl, CURLOPT_URL, $url);
   curl_setopt($curl, CURLOPT_HTTPHEADER, array(
      'APIKEY: 111111111111111111111',
      'Content-Type: application/json',
   ));
   curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
   curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
   // EXECUTE:
   $result = curl_exec($curl);
   if(!$result){die("Connection Failure");}
   curl_close($curl);
   return $result;
}
3 để cho nó một giá trị mặc định. Bây giờ chúng tôi không bắt buộc phải nhập tiêu đề của mình với mỗi cuộc gọi

Thay đổi thứ hai là câu lệnh if khi chúng tôi đặt tiêu đề API. Nếu chúng tôi không cung cấp bất kỳ tiêu đề nào khi thực hiện cuộc gọi, nó sẽ sử dụng các tiêu đề mặc định của chúng tôi thay vì bị lỗi. Bây giờ chúng tôi đã sẵn sàng để thêm các tiêu đề tùy chỉnh với cuộc gọi của mình

Trong ví dụ này, tôi đang sử dụng các tham số tìm kiếm để tìm kiếm dữ liệu cụ thể trước khi tôi lấy tất cả dữ liệu bằng API. Để thực hiện tìm kiếm, rõ ràng là tôi cần có thể thêm truy vấn tìm kiếm của mình vào các tiêu đề callAPI của mình. Đây là ví dụ của tôi

Tạo tiêu đề tùy chỉnh trước cuộc gọi của chúng tôi

$one_month_ago = date("Y-m-d", strtotime(date("Y-m-d", strtotime(date("Y-m-d"))) . "-1 month"));
$rent_header = 'Search: and[][created][greater]=' . $one_month_ago . '%and[][created][less]=' . date('Y-m-d') . '%';
//the actual call with custom search header
$make_call = callAPI('GET', 'https://api.example.com/get_url/', false, $rent_header);

Đây chỉ là một ví dụ về cách thêm tiêu đề. Ví dụ của tôi là lấy tất cả các hàng đã trả tiền thuê trong 30 ngày qua. $one_month_ago chỉ là một biến trợ giúp. $rent_header là tiêu đề thực mà tôi muốn thêm vào tiêu đề mặc định của mình. Đây cần phải là một chuỗi

Khi bạn đã đặt tiêu đề, bạn chỉ cần thực hiện lệnh gọi api thông thường và thêm tiêu đề mới của mình vào cuối

Tôi không cần sử dụng bất kỳ phương thức gọi API nào khác như bản vá hoặc thanh lọc hoặc bất kỳ thứ gì tương tự. Những điều này bạn cần phải tự tìm ra. Nếu có điều kỳ diệu nào đó xảy ra trong bài đăng này, tôi hy vọng các ví dụ của tôi có thể giúp bạn hiểu rõ hơn

Gần đây tôi đã viết phần 2 cho bài đăng này, sẽ nói về việc tạo khóa AUTH (utoken) trước khi chúng tôi thực hiện cuộc gọi của mình. Hãy chắc chắn để kiểm tra nó ra ở đây là tốt

  • Chia sẻ trực tuyến

Nhận các bài đăng mới nhất và những thứ khác trong hộp thư đến của bạn

Nhận các bài báo hay nhất của chúng tôi ngay trong hộp thư đến của bạn. Chỉ một lần mỗi quý, bởi vì không ai thích thư rác

Đặt mua

Làm cách nào để POST dữ liệu thông qua API trong PHP?

Cảm ơn

Cảm ơn bạn đã đăng ký. Tin nhắn cảm ơn của chúng tôi đã sẵn sàng cho bạn

Đọc thêm các chủ đề liên quan?

  • Tải thêm bài đăng bằng ajax trong wordpress mà không cần tải lại trang. Đọc bài viết

  • Các lệnh gọi API PHP cURL có xác thực (REST GET POST) Đọc bài viết

Để lại một câu trả lời

Địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu *

Nhận xét *

Tên *

Email *

Trang mạng

Δ

68 Bình luận

  • Farkas nói.

    Xin chào. Tôi gặp vấn đề khi muốn xóa, tôi gõ DELETE và vì lý do nào đó nó giống như nhận được GET. Bạn có thể giúp tôi với những gì không tốt? . Cảm ơn trước sự giúp đỡ của bạn. chó sói
    Xin lỗi, tôi đã viết bằng tiếng Hungary. Đ.

    • Bob Weichler nói.

      Xin chào Farkas, Cảm ơn bạn đã đăng phản hồi của mình. Bạn có một ví dụ mã cho tôi, xin vui lòng?

  • Şahin nói.

    ĐĂNG từ một. php to b. php. Tôi lưu nó vào cơ sở dữ liệu và kết quả dương tính/âm tính được trả về. Làm cách nào tôi có thể in kết quả này vào tài khoản của mình. tập tin php?

  • Talha Rafique nói.

    cảm ơn, người đàn ông,
    bạn đã tiết kiệm 2 ngày của tôi

  • Pedro henrique nói.

    Một nghi ngờ giả sử tôi gửi curl từ trang đăng nhập của mình tới api của tôi, nó xử lý dữ liệu đăng nhập

    Trong api của tôi, làm cách nào để nhận dữ liệu khi cuộn tròn?

    Cảm ơn

  • Paolo nói.

    Bài báo tuyệt vời. nhưng tôi có thể truy cập API của mình. Bạn có thể giúp tôi được không
    Curl mà tôi đã thử nghiệm là
    curl –request GET –header “Chấp nhận. ứng dụng/json” –tiêu đề ‘X-CLIENT-AUTH. 111111111111’ ‘https. //api. ví dụ. com/api/public/event?tested_id=2'
    Làm cách nào tôi có thể đặt cái này trong PHP?
    Nhiều nhiều tnx

  • Rick nói.

    Xin chào và cảm ơn thông tin của bạn

    Tôi đang cố gắng học tất cả những gì có thể về PHP và lập trình web. Ngay bây giờ, tôi đang tự hỏi điều này; . Bạn có một phương pháp, bạn có dữ liệu và bạn có một URL. Nhưng, cURL có phải là “hai chiều” không?

    Ý tôi là, bạn gọi một API bằng cURL, nhưng API sử dụng cái gì để trả lời dữ liệu được yêu cầu? . Tôi đã sử dụng thành công cURL để yêu cầu dữ liệu từ các API khác nhau nhưng tất nhiên, các API đó đã tồn tại. Nếu tôi muốn làm một trang đáp ứng các yêu cầu từ một trang khác thì sao?

    Cảm ơn bạn trước cho bất kỳ sự giúp đỡ

    • Bob Weichler nói.

      Chào Rick,
      Khi bạn gọi một API (với cURL, Axios, Ajax, Fetch,…), bạn cần nhấn một điểm cuối API sẽ trả về dữ liệu bạn yêu cầu một cách đơn giản. Truy cập URL điểm cuối API đó trong trình duyệt của bạn hoặc thông qua Postman sẽ cho bạn kết quả tương tự (nếu tuyến API là công khai, nếu không thì bạn cần xác thực trước)

      Một ví dụ đơn giản nhấn vào URL sau. https. // hãy phát triển. com/wp-json/projects/all-posts sẽ hiển thị cho tôi phản hồi API của tôi. Nhưng điểm cuối đó luôn ở đó. Khi bạn gọi URL đó trong cURL, bạn sẽ nhận được dữ liệu dưới dạng phản hồi. Nhưng điểm cuối API không được kết nối với ứng dụng hoặc trang web của bạn. Tùy thuộc vào ngôn ngữ lập trình của bạn, bạn cần sử dụng cURL hoặc Axios hoặc Fetch hoặc…

      Tương tự đối với xác thực, bạn gọi một tuyến đăng nhập bằng cURL và phản hồi API sẽ cung cấp cho bạn một auth_token dưới dạng trả lại. Bạn cần sử dụng auth_token đó trong bất kỳ lệnh gọi API nào khác mà bạn thực hiện để truy cập các tuyến được bảo vệ của API mà bạn muốn sử dụng

      Nếu bạn muốn tạo API của riêng mình, bạn cần đảm bảo rằng bạn tạo các điểm cuối công khai/riêng tư trong ứng dụng của mình trông giống như. ứng dụng của bạn. com/api/getUsers – Bạn có thể đặt tên cho nó bất cứ thứ gì bạn muốn, chỉ cần đảm bảo rằng nó trả về thứ gì đó hữu ích cho người dùng đang gọi điểm cuối của bạn

  • Chitra nói.

    Xin chào ngài,
    Thực sự tôi cảm thấy hạnh phúc khi đọc những lời của bạn. Bởi vì bây giờ tôi đang ở trong cùng một chiếc thuyền nơi bạn đã đi du lịch. Vì vậy, các trang của bạn tạo ra một cách để vượt qua các cuộc trò chuyện nhóm. Bây giờ tôi đang trong dự án đầu tiên của mình. Hy vọng bạn có thể giúp tôi trong khía cạnh này. Tôi có vô số nghi ngờ

  • bali kratom nói.

    Cảm ơn đã chia sẻ điều này nó thực sự hữu ích cho tôi

  • samuel nói.

    thực sự hữu ích
    Cảm ơn

  • Scott nói.

    Lời chào từ một người lạ ngẫu nhiên trên internet. Chỉ muốn nói cảm ơn bạn đã đăng bài này. Tôi thường đội mũ PERL bất cứ khi nào tôi có nhu cầu kỳ lạ để viết một kịch bản nào đó nhưng một dự án gần đây đã khiến PHP trở thành một lựa chọn tốt hơn mặc dù tôi hoàn toàn không quen thuộc với nó. Bài đăng này đã giúp tôi tìm ra lý do tại sao mã của chính tôi lại thất bại một cách ngoạn mục. Ồ, và tôi đã đánh cắp câu lệnh tình huống mặc định để sử dụng cho riêng mình. Sử dụng đa dạng thông minh biến $data ở đó

  • abdelhak nói.

    Bài đăng tuyệt vời bài viết rất hữu ích, tôi thực sự thích nó và tôi thích cách bạn giải thích các cuộc gọi api

  • basicmath nói.

    ngài là một quý ông

    Cảm ơn đã làm cho điều này có sẵn

  • Rossella Terracciano nói.

    Tôi không hiểu… tôi phải đặt mã chức năng và yêu cầu đăng thecURL trong cùng một tập lệnh PHP (thay đổi url) nếu tôi muốn đưa ra yêu cầu xác thực, phải không?

  • Tee nói.

    tôi đã sử dụng chức năng api của bạn được một thời gian nhưng bây giờ nó đột nhiên ngừng hoạt động. Tôi bị lỗi kết nối ngay bây giờ. Bất kỳ trợ giúp sẽ được đánh giá cao

  • Vikas Sharma nói.

    Đẹp và đơn giản

  • Benjamin nói.

    Đây là một trong những bài viết hay nhất tôi từng thấy về lệnh gọi API cURL, cảm ơn bạn rất nhiều

  • Leslie nói.

    Cảm ơn bạn đã giới thiệu cho tôi bài đăng này, bởi vì tôi đang ở vị trí của bạn khi bạn viết bài đăng này ngay bây giờ và thời hạn đang ở trên cổ tôi như của họ không có ngày mai

  • PRANAV nói.

    Cảm ơn rất nhiều. Điều này đã giúp tôi rất nhiều

  • chế độ ăn kiêng giảm cân nói.

    Đẹp. Đây là một bài báo thực sự tuyệt vời. Cảm ơn đã cung cấp những chi tiết này

  • goenergia nói.

    Thx, hoạt động tốt

  • krishna nói.

    http. //ncert. nic. trong/sách giáo khoa/sách giáo khoa. htm?aeen1=0-10
    làm thế nào tôi truy cập url này trong php curl
    giúp tôi nếu bạn có thể giải quyết

  • Haider nói.

    xin chào, tôi muốn áp dụng điều này trên chatbot của mình, bạn có thể giúp tôi việc này không

  • spamzeiro nói.

    Trang web này giúp tôi gọi API
    rất cảm ơn

  • mahesh nói.

    CHÀO

  • Dammy Oluwatobi nói.

    Xin chào, đây có thể là một câu hỏi rất lạ nhưng tôi cần xác minh xem người dùng có tồn tại trong cơ sở dữ liệu của tôi từ yêu cầu cuộn tròn hay không, sau đó trả lại mã xác nhận cho yêu cầu. tôi mới sử dụng php

  • amar singh nói.

    Cảm ơn rất nhiều. tôi đánh giá cao. Điều này đã giúp tôi rất nhiều trong dự án đại học của tôi

  • Daniel nói.

    Chà, có vẻ là một câu hỏi lạ, vì không ai hỏi, nhưng tại sao không ai đề cập đến khóa API?
    Tại sao điều này bị bỏ qua?

    • Bob Weichler nói.

      Điều này phụ thuộc vào API bạn đang sử dụng (api công khai không cần điều này). Hy vọng bài viết tiếp theo có thể giúp bạn triển khai khóa API trong các yêu cầu của mình. https. //www. weichieprojects. com/blog/curl-api-calls-authentication/

  • Van bướm nói.

    Trang web này chắc chắn có tất cả các thông tin và
    sự thật tôi muốn liên quan đến chủ đề này và không biết hỏi ai

  • kishor nói.

    trang web tốt

  • Supreet nói.

    Bài báo tuyệt vời. Cảm ơn

  • bungee nói.

    Đọc tuyệt vời. Có thể NHẬN bằng THAM GIA trong cURL không? . Một chủ đề mới có thể. sử dụng trình soạn thảo PHP – thiết lập cơ bản và thử nghiệm với API. Rất nhiều người đấu tranh ở đó. Cảm ơn một lần nữa

  • ống ​​cpvc nói.

    đưa lên tuyệt vời, rất nhiều thông tin. Tôi tự hỏi tại sao khác
    các chuyên gia của lĩnh vực này không nhận thấy điều này. Bạn phải tiến hành bằng văn bản của bạn

    Tôi tự tin, bạn đã có một lượng độc giả khổng lồ rồi

  • Deepak nói.

    xin chào ngài
    vậy chúng tôi có thể sử dụng điều này để tích hợp bất kỳ api nào với trang web của chúng tôi không

    • Bob Weichler nói.

      điều chắc chắn. Vui lòng sử dụng mã này bất cứ nơi nào bạn muốn

  • devi nói.

    điều này rất hữu ích để hiểu các phương pháp uốn tóc khác nhau. Tôi cần một sự giúp đỡ từ bạn
    Tôi đang cố gắng hoàn thành điều tương tự bằng C++. Làm cách nào để gửi dữ liệu json dưới dạng phản hồi cho truy vấn cuộn tròn?

  • Lavinia nói.

    Bài đăng Excelente, với một chút thay đổi, nó đã giúp tôi rất nhiều trên ứng dụng web của mình. Cảm ơn

  • Vong Visalsambath nói.

    Tôi chạy nút trên máy chủ cục bộ với cổng 3000 và tôi nhận được thông báo lỗi này. không thể kết nối với cổng localhost 3000. kết nối bị từ chối

  • Penni nói.

    Tôi đọc đoạn này hoàn toàn liên quan đến sự khác biệt của hầu hết
    các công nghệ cập nhật và đi trước, đó là bài báo tuyệt vời

  • Orang dalem nói.

    Bạn là người đàn ông tuyệt vời,, Cảm ơn 🙂

  • tomosa nói.

    Cảm ơn bạn, công việc của bạn rất dễ học và dễ hiểu
    Chỉ là một câu hỏi nhanh làm cách nào tôi có thể kích hoạt biểu mẫu đăng nhập của mình để trả lại khóa api khi người dùng đăng nhập?

  • Harga Karpet masjid nói.

    Ôi Chúa ơi. Bài viết ấn tượng bác. Cảm ơn, tuy nhiên tôi
    đang gặp sự cố với RSS của bạn. Tôi không hiểu tại sao tôi
    không thể đăng ký nó. Có ai gặp sự cố RSS giống hệt nhau không?
    Bạn nào biết câu trả lời có thể vui lòng trả lời giúp mình được không?
    Thanx

  • người nổi tiếng trong thể thao nói.

    Bạn đã bao giờ nghĩ đến việc xuất bản sách điện tử hoặc tác giả khách mời trên các trang web khác chưa?
    Tôi có một blog dựa trên cùng thông tin mà bạn thảo luận và thực sự muốn bạn chia sẻ một số câu chuyện/thông tin. Tôi biết độc giả của tôi sẽ đánh giá cao
    công việc của bạn. Nếu bạn thậm chí quan tâm từ xa, vui lòng gửi e-mail cho tôi

  • Bryan Jay Osal nói.

    Xin chào, bạn có thể tìm nạp api tìm nạp tệp json bằng cách sử dụng php từ một url api vớiCRUD không? . cảm ơn bạn rất nhiều người đàn ông

  • Hộp văn bản nói.

    CHÀO,
    Tôi muốn làm nhiệm vụ như dưới đây
    Ứng dụng của tôi được lưu trữ trên xyz. com với hộp Đăng nhập và Hình ảnh Biểu ngữ

    Bây giờ đối với khách hàng abc,com đặt bản ghi cname thành xyz. com. Khi trang của tôi truy cập từ abc. com, tôi muốn anh ấy hiển thị trang đăng nhập hoặc logo công ty của anh ấy trên trang đăng nhập của tôi

    Tôi cũng muốn làm như vậy đối với miền khách hàng pqr. com

    Làm thế nào điều này có thể được thực hiện bằng cách sử dụng mã của bạn?

  • Joan nói.

    CHÀO. Cảm ơn bạn rất nhiều, tôi không thử tất cả các tùy chọn, nhưng tùy chọn đầu tiên phù hợp với tôi

  • NAGENDRA R nói.

    Có cách nào để một người có thể sử dụng liên kết giao diện người dùng mà khi người dùng đã đăng nhập nhấp vào, đã thay đổi danh mục từ 2 thành 3 (hoặc “đang hoạt động” thành “đã đóng”) không?

  • Pritesh sushil singh nói.

    công việc tốt, nó rất hữu ích

  • Joshua Read nói.

    Có cách nào để một người có thể sử dụng liên kết giao diện người dùng mà khi người dùng đã đăng nhập nhấp vào, đã thay đổi danh mục từ 2 thành 3 (hoặc “đang hoạt động” thành “đã đóng”) không?

    • weichie nói.

      Xin chào Joshua, Có, điều này có thể được thực hiện bằng cách sử dụng yêu cầu PUT cURL từ bài đăng trên blog này. Trong ví dụ của tôi, tôi đang thay đổi số tiền thuê sang một thứ khác. Vì vậy, trong trường hợp của bạn, đây sẽ là “danh mục” => 3 thay vì “số tiền” (trong trường hợp của tôi). Hãy thử sử dụng “category” => (string) 3 nếu json của bạn trả về lỗi. Hi vọng điêu nay co ich

  • Israel nói.

    Cảm ơn rất nhiều. tôi đánh giá cao. Điều này đã giúp tôi rất nhiều trong dự án trường học của tôi

  • Adam nói.

    Cảm ơn, người đàn ông. điều này thật tuyệt. mặc dù đã sửa đổi nó thành
    curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BEARER);

    do phương thức xác thực đang sử dụng. Cảm ơn

  • Art3mis9 nói.

    Tôi đang mã hóa một ứng dụng web cần sử dụng oAuth để tìm nạp dữ liệu. Vì lý do bảo mật, tôi không thể gửi dữ liệu từ ứng dụng khách, vì vậy tôi cần yêu cầu ứng dụng khách gửi yêu cầu đến máy chủ của chúng tôi trước, sau đó sẽ thực hiện lệnh gọi API bằng thông tin đăng nhập, sau đó lấy dữ liệu được trả về và gửi lại

    Tôi có thể làm điều này bằng PHP cURL không? . Tôi tình cờ thấy bài viết của bạn, và thông tin là tuyệt vời. Tôi chỉ đang vật lộn với việc thực hiện

    • weichie nói.

      chào bạn. Cảm ơn đã bình luận. Rất nhiều người hỏi tôi làm thế nào điều này có thể được thực hiện nếu bạn cần thông tin đăng nhập trước. (Tạo khóa xác thực trước khi thực hiện lệnh gọi API chung). Tôi sẽ cố gắng tạo một bài đăng Blog mới về vấn đề này trong tuần này

  • Kalumba Raymond Joseph nói.

    wooow, điều này thực sự thú vị khi biết, nó thực sự giúp hiểu cách thức hoạt động của cURL đã được sử dụng khung hoạt động mặc dù đôi khi tôi đã nhận được các thay đổi. giơ ngón tay cái lên anh em hòa bình……

  • vincenzo nói.

    Xin chào, cảm ơn rất nhiều về hướng dẫn của bạn, tôi đang kết nối với API bằng cURL và php, API trả về mã thông báo id cho một người dùng cụ thể. Tôi không hiểu tại sao nếu tôi truy cập trực tiếp vào url yêu cầu, ví dụ nếu tôi đặt url đăng nhập vào trình duyệt thì tôi có thể mở các url khác mà không cần phải lấy lại mã thông báo. Mã thông báo có được lưu trong tiêu đề không?

    Làm cách nào để POST dữ liệu bằng PHP?

    Trong PHP, chúng ta có thể sử dụng phương thức $_POST như một biến siêu toàn cục được vận hành để quản lý dữ liệu biểu mẫu . Sau khi chúng tôi nhấp vào nút gửi và trang sẽ gửi dữ liệu qua phương thức đăng.

    Làm cách nào để gửi dữ liệu JSON tới API trong PHP?

    Gửi dữ liệu JSON qua POST bằng PHP cURL .
    Chỉ định URL ( $url ) nơi gửi dữ liệu JSON
    Khởi tạo tài nguyên cURL mới bằng cách sử dụng curl_init()
    Thiết lập dữ liệu trong mảng PHP và mã hóa thành chuỗi JSON bằng json_encode()
    Đính kèm dữ liệu JSON vào các trường POST bằng tùy chọn CURLOPT_POSTFIELDS

    Làm cách nào để lấy dữ liệu từ API REST trong PHP?

    Mã để đọc dữ liệu API bằng cách sử dụng hàm PHP file_get_contents() . Điều này có thể đọc bất kỳ tệp hoặc dữ liệu API nào bằng URL và lưu trữ dữ liệu trong một biến. Chức năng này là phương pháp dễ dàng nhất để đọc bất kỳ dữ liệu nào bằng cách chuyển URL API.