PHP in yêu cầu cURL

PHP. Xoăn

Cải thiện bài viết

Lưu bài viết

Thích bài viết

  • Độ khó. Khó
  • Cập nhật lần cuối. 04 tháng 10 năm 2021

  • Đọc
  • Bàn luận
  • khóa học
  • Luyện tập
  • Băng hình
  • Cải thiện bài viết

    Lưu bài viết

    CURL là viết tắt của 'Ứng dụng khách dành cho URL', ban đầu với URL được đánh vần bằng chữ hoa để làm rõ rằng nó xử lý các URL. Nó được phát âm là 'xem URL'. Dự án cURL có hai sản phẩm libcurl và curl.
     

    • thư viện. Thư viện chuyển URL phía máy khách miễn phí và dễ sử dụng, hỗ trợ FTP, TPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE và LDAP. libcurl hỗ trợ chứng chỉ TTPS, HTTP POST, HTTP PUT, tải lên FTP, kerberos, tải lên dựa trên HTTP, proxy, cookie, xác thực người dùng và mật khẩu, tiếp tục truyền tệp, đường hầm proxy HTTP, v.v. libcurl miễn phí, an toàn theo luồng, tương thích với IPv6, giàu tính năng, được hỗ trợ tốt và nhanh chóng
    • Xoăn. Công cụ dòng lệnh để nhận hoặc gửi tệp bằng cú pháp URL. Vì curl sử dụng libcurl nên nó hỗ trợ nhiều giao thức nội bộ phổ biến, hiện bao gồm HTTP, HTTPS, FTP, FTPS, GOPHER, TELNET, DICT và FILE

    PHP/cURL là gì? . hỗ trợ cURL được bật trong PHP, hàm phpinfo[] sẽ hiển thị ở đầu ra của nó. Bạn được yêu cầu kiểm tra nó trước khi viết chương trình đơn giản đầu tiên của bạn bằng PHP.
    The module for PHP that makes it possible for PHP programs to access curl functions within PHP. cURL support is enabled in PHP, the phpinfo[] function will display in its output. You are requested to check it before writing your first simple program in PHP. 
     

    php




    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

     

    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

     

    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;
    }
    4

    Sử dụng đơn giản. Yêu cầu/thao tác đơn giản và phổ biến nhất được thực hiện bằng HTTP là lấy một URL. Bản thân URL có thể đề cập đến một trang web, hình ảnh hoặc tệp. Máy khách đưa ra yêu cầu GET tới máy chủ và nhận tài liệu mà nó yêu cầu.
    Một số hàm cURL cơ bản.
     

    • Hàm curl_init[] sẽ khởi tạo một phiên mới và trả về một điều khiển cURL
    • hàm curl_exec[$ch] nên được gọi sau khi khởi tạo phiên cURL và tất cả các tùy chọn cho phiên được đặt. Mục đích của nó chỉ đơn giản là thực thi phiên CURL được xác định trước [được cung cấp bởi ch]
    • curl_setopt[$ch, option, value] đặt tùy chọn cho phiên cURL được xác định bởi tham số ch. Tùy chọn chỉ định tùy chọn nào sẽ được đặt và giá trị chỉ định giá trị cho tùy chọn đã cho
    • curl_setopt[$ch, CURLOPT_RETURNTRANSFER, 1] trả lại nội dung trang. Nếu đặt 0 thì sẽ không có đầu ra nào được trả về
    • curl_setopt[$ch, CURLOPT_URL, $url] chuyển URL làm tham số. Đây là địa chỉ trang web máy chủ mục tiêu của bạn. Đây là URL bạn muốn lấy từ internet
    • curl_exec[$ch] lấy URL và chuyển nó vào biến để hiển thị đầu ra
    • curl_close[$ch] đóng tài nguyên cuộn tròn và giải phóng tài nguyên hệ thống

    Ví dụ.
     

    php




    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

     

    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;
    }
    6

    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;
    }
    7
    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;
    }
    8
    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;
    }
    9
    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

     

    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

    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;
    }
    30
    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;
    }
    31

     

    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;
    }
    32

    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;
    }
    33
    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;
    }
    30
    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;
    }
    35

     

    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;
    }
    36

    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;
    }
    33
    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;
    }
    30
    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;
    }
    39
    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;
    }
    7
    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;
    }
    41

     

    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;
    }
    42
    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;
    }
    43____130
    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;
    }
    41

     

    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;
    }
    46
    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;
    }
    42
    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

     

    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;
    }
    4

    Đầu ra.
     

    Tham khảo. http. //php. net/manual/en/book. Xoăn. php
     


    Ghi chú cá nhân của tôi arrow_drop_up

    Tiết kiệm

    Vui lòng Đăng nhập để nhận xét.

    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

    $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];
    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

    $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];
    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

    Đị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. Wolf
      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 anh bạn,
      anh đã tiết kiệm cho tôi 2 ngày.

    • 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 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. ví dụ. com/api/public/event?tested_id=2’
      Làm cách nào tôi có thể đưa cái này vào 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.

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

      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ờ.

    • 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ỳ 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 ở đó

    • 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.

      Khá. Đâ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ẻ đâ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?

      • 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ả 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.

    • 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.

      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

    • 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 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.

    • 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.
      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?

    • Harga Karpet masjid nói.

      Ô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.

    • 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ố . 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.

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

    • Joan nói.

      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

    • 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ố lượng” [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 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

    • 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 để in cuộc gọi cURL trong php?

      Quảng cáoPHP mã trạng thái cURL . // mã web. tôi'];

      Làm cách nào để nhận yêu cầu cURL từ php?

      Để thực hiện yêu cầu GET bằng Curl, chạy lệnh curl theo sau là URL mục tiêu . Curl tự động chọn phương thức yêu cầu HTTP GET trừ khi bạn sử dụng tùy chọn dòng lệnh -X, --request hoặc -d. URL mục tiêu được chuyển dưới dạng tùy chọn dòng lệnh đầu tiên.

      Làm cách nào để kiểm tra phản hồi cURL trong php?

      Tiêu đề phản hồi trong cURL . Điều này hữu ích khi bạn chỉ cần các tiêu đề, nhưng hầu hết thời gian, chúng tôi cũng cần nội dung của yêu cầu. Giải pháp cho vấn đề này cũng nằm trong tùy chọn CURLOPT_HEADER. By setting the CURLOPT_HEADER and CURLOPT_NOBODY options to true, the result of curl_exec[] will only contain the headers. This is useful when you only need the headers, but most of the time, we need the content of the request too. The solution to this lies in the CURLOPT_HEADER option as well.

    Chủ Đề