Làm tròn lấy api php

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

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

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 để 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

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 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', '//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 đó

$data_array =  array[
      "customer"        => $user['User']['customer_id'],
      "payment"         => array[
            "number"         => $this->request->data['account'],
            "routing"        => $this->request->data['routing'],
            "method"         => $this->request->data['method']
      ],
];
$make_call = callAPI['POST', '//api.example.com/post_url/', json_encode[$data_array]];
$response = json_decode[$make_call, true];
$errors   = $response['response']['errors'];
$data     = $response['response']['data'][0];

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 chức năng gọi API[] của bạn, 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', '//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

________số 8

Đ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

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

Đâ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

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 Hủy 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.

    11/06/2022 lúc 15. 45

    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. Wolf
    Xin lỗi, tôi đã viết bằng tiếng Hungary. Đ

    Đáp lại

    • Bob Weichler nói.

      13/06/2022 lúc 06. 59

      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?

      Đáp lại

  • Şahin nói.

    06/02/2022 lúc 21. 20

    ĐĂ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?

    Đáp lại

  • Talha Rafique nói.

    05/02/2022 lúc 14. 15

    cảm ơn anh bạn,
    anh đã tiết kiệm cho tôi 2 ngày.

    Đáp lại

  • Pedro henrique nói.

    30/05/2021 lúc 02. 21

    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

    Đáp lại

  • Paolo nói.

    16/05/2021 lúc 13. 54

    Bài viết hay. 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.
    Cuộn tóc mà tôi đã kiểm tra là.
    curl –request GET –header “Chấp nhận. ứng dụng/json” –tiêu đề ‘X-CLIENT-AUTH. 111111111111’ ‘https. //api. thí dụ. com/api/public/event?tested_id=2’
    Làm cách nào để đưa cái này vào PHP?
    Nhiều nhiều tnx.

    Đáp lại

  • Rick nói.

    15/10/2020 lúc 07. 25

    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 đỡ

    Đáp lại

    • Bob Weichler nói.

      16/10/2020 lúc 06. 00

      Xin chào Rick,
      Khi gọi một API [với cURL, Axios, Ajax, Fetch,…], bạn cần nhấn vào một điểm cuối API sẽ chỉ trả về dữ liệu mà bạn yêu cầu. Việc 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 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

      Đáp lại

  • Chitra nói.

    10/09/2020 lúc 21. 03

    Thưa ông,
    Tôi thực sự rất vui khi đọc những lời của ông. 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ờ.

    Đáp lại

  • bali kratom nói.

    13/08/2020 lúc 11. 41

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

    Đáp lại

  • samuel nói.

    16/05/2020 lúc 14. 09

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

    Đáp lại

  • Scott nói.

    03/05/2020 lúc 01. 55

    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ỳ quặc để viết một cái gì đó 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 không hề 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 ở đó

    Đáp lại

  • abdelhak nói.

    22/03/2020 lúc 10. 59

    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

    Đáp lại

  • basicmath nói.

    20/12/2019 lúc 16. 06

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

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

    Đáp lại

  • Rossella Terracciano nói.

    07/12/2019 lúc 18. 57

    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?

    Đáp lại

  • Tee nói.

    06/12/2019 lúc 19. 39

    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

    Đáp lại

  • Vikas Sharma nói.

    26/11/2019 lúc 06. 19

    Đẹp và đơn giản

    Đáp lại

  • Benjamin nói.

    21/11/2019 lúc 21. 02

    Đâ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

    Đáp lại

  • Leslie nói.

    06/11/2019 lúc 05. 20

    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

    Đáp lại

  • PRANAV nói.

    23/10/2019 lúc 18. 48

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

    Đáp lại

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

    15/10/2019 lúc 08. 38

    Đẹ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

    Đáp lại

  • goenergia nói.

    08/10/2019 lúc 17. 41

    Thx, hoạt động tốt

    Đáp lại

  • krishna nói.

    28/09/2019 lúc 18. 10

    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

    Đáp lại

  • Haider nói.

    09/11/2019 lúc 09. 39

    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

    Đáp lại

  • spamzeiro nói.

    09/04/2019 lúc 21. 28

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

    Đáp lại

  • mahesh nói.

    03/09/2019 lúc 10. 39

    Chào

    Đáp lại

  • Dammy Oluwatobi nói.

    24/08/2019 lúc 17. 03

    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

    Đáp lại

  • amar singh nói.

    13/08/2019 lúc 12. 01

    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

    Đáp lại

  • Daniel nói.

    06/08/2019 lúc 07. 21

    Chà, có vẻ đây 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?

    Đáp lại

    • Bob Weichler nói.

      06/08/2019 lúc 13. 40

      Đ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/

      Đáp lại

  • Van bướm nói.

    18/07/2019 lúc 13. 25

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

    Đáp lại

  • kishor nói.

    05/07/2019 lúc 10. 58

    trang web tốt

    Đáp lại

  • Supreet nói.

    03/07/2019 lúc 15. 35

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

    Đáp lại

  • bungee nói.

    20/06/2019 lúc 06. 28

    Đọ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 và thử nghiệm cơ bản với API. Rất nhiều người đấu tranh ở đó. Cảm ơn một lần nữa

    Đáp lại

  • ống ​​cpvc nói.

    11/06/2019 lúc 07. 58

    bài đăng tuyệt vời, rất nhiều thông tin. Tôi tự hỏi tại sao
    các chuyên gia khác 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

    Đáp lại

  • Deepak nói.

    06/06/2019 lúc 11. 25

    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

    Đáp lại

    • Bob Weichler nói.

      06/06/2019 lúc 11. 39

      đ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

      Đáp lại

  • devi nói.

    04/06/2019 lúc 11. 35

    đ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?

    Đáp lại

  • Lavinia nói.

    03/06/2019 lúc 18. 54

    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

    Đáp lại

  • Vong Visalsambath nói.

    27/05/2019 lúc 08. 15

    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

    Đáp lại

  • Penni nói.

    21/05/2019 lúc 20. 48

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

    Đáp lại

  • Orang dalem nói.

    07/05/2019 lúc 02. 11

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

    Đáp lại

  • tomosa nói.

    30/04/2019 lúc 18. 14

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

    Đáp lại

  • Harga Karpet masjid nói.

    23/04/2019 lúc 20. 05

    Ôi trời ơ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?
    Ai biết câu trả lời có thể trả lời giúp tôi được không?
    Thanx.

    Đáp lại

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

    13/04/2019 lúc 15. 03

    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ố . Tôi biết độc giả của tôi sẽ đánh giá cao
    tác phẩm 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.

    Đáp lại

  • Bryan Jay Osal nói.

    03/04/2019 lúc 13. 09

    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

    Đáp lại

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

    18/03/2019 lúc 17. 21

    Chào bạn,
    Tôi muốn làm nhiệm vụ như bên dưới.
    Ứ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?

    Đáp lại

  • Joan nói.

    10/03/2019 lúc 16. 59

    Xin 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

    Đáp lại

  • NAGENDRA R nói.

    02/11/2019 lúc 11. 09

    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?

    Đáp lại

  • Pritesh sushil singh nói.

    08/02/2019 lúc 08. 00

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

    Đáp lại

  • Joshua Read nói.

    19/12/2018 lúc 09. 49

    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?

    Đáp lại

    • weichie nói.

      19/12/2018 lúc 14. 26

      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

      Đáp lại

  • Israel nói.

    16/12/2018 lúc 09. 11

    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

    Đáp lại

  • Adam nói.

    04/12/2018 lúc 21. 40

    Cảm ơn anh bạn. đ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

    Đáp lại

  • Art3mis9 nói.

    04/12/2018 lúc 15. 29

    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

    Đáp lại

    • weichie nói.

      04/12/2018 lúc 21. 37

      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

      Đáp lại

  • Kalumba Raymond Joseph nói.

    31/10/2018 lúc 17. 32

    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……

    Đáp lại

  • vincenzo nói.

    30/09/2018 lúc 14. 33

    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 cách sử dụ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?

Chủ Đề