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

PHP không được tích hợp sẵn với ứng dụng khách API. Chúng ta phải cài đặt tiện ích mở rộng php-curl. PHP có một thư viện cho curl. Chúng ta cần cài đặt nó trước khi có thể sử dụng nó trong PHP

sudo apt-get install php5-curl
sudo service apache2 restart

Sau khi cài đặt khởi động lại máy chủ apache để curl có hiệu lực

Gọi API REST dựa trên JSON trong PHP

Ví dụ dưới đây là một yêu cầu GET đơn giản trả về phản hồi json. Phản hồi json có thể được phân tích cú pháp thành một đối tượng bằng cách sử dụng

$url = 'https://api.example.com/v1.0/details/customer';
  
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$response = json_decode($response);
curl_close($ch);
2 để chương trình sử dụng thêm

$url = 'https://api.example.com/v1.0/details/customer';
  
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$response = json_decode($response);
curl_close($ch);

Tùy chọn

$url = 'https://api.example.com/v1.0/details/customer';
  
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$response = json_decode($response);
curl_close($ch);
3 được đặt thành
$url = 'https://api.example.com/v1.0/details/customer';
  
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$response = json_decode($response);
curl_close($ch);
4 để trả lại chuyển khoản dưới dạng một chuỗi giá trị trả về của curl_exec() thay vì xuất trực tiếp

Trước khi chúng tôi chuyển sang yêu cầu POST, hãy xem cách chúng tôi có thể lặp qua đối tượng phản hồi và thực hiện kết xuất phía máy chủ

$blogList = json_decode($response);
curl_close($ch);

foreach ($blogList->pages as $blog) {
    echo(''.$blog->title.'');
}

POST yêu cầu trong PHP

Yêu cầu POST khác với yêu cầu GET. Trong yêu cầu POST, có phần thân nên chúng tôi cần gửi dữ liệu bằng cách sử dụng

$url = 'https://api.example.com/v1.0/details/customer';
  
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$response = json_decode($response);
curl_close($ch);
5. Trong ví dụ bên dưới, chúng tôi đang gửi yêu cầu POST bằng cách sử dụng tùy chọn
$url = 'https://api.example.com/v1.0/details/customer';
  
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$response = json_decode($response);
curl_close($ch);
6

________số 8_______

Đặt tiêu đề bằng CURLOPT_HTTPHEADER

Nếu bạn không đặt tiêu đề, chỉ cần thêm dòng dưới đây

curl_setopt($ch, CURLOPT_HEADER, 0);

Nhưng nếu bạn muốn thêm tiêu đề, hãy đặt chúng vào một mảng và sử dụng tùy chọn CURLOPT_HEADER

curl_setopt($ch, CURLOPT_HTTPHEADER, array(
      'Authorization: apikey '.$authToken,
      'Content-Type: application/json'
));

Hàm tiện ích gọi API trong PHP

Bây giờ chúng ta tạo một hàm chung có thể gửi bất kỳ phương thức nào GET, POST, PUT, v.v. yêu cầu trong PHP. Điều này hữu ích trong trường hợp chúng tôi gọi API thường xuyên trong mã của mình. Có một chức năng tiện ích giúp chúng tôi tiết kiệm các dòng mã, chúng tôi cũng có thể cải thiện chức năng này ở một nơi duy nhất

function rest_call($method, $url, $data = false, $contentType= false, $token = false)
{
    $curl = curl_init();

    if($token){ //Add Bearer Token header in the request
        curl_setopt($curl, CURLOPT_HTTPHEADER, array(
            'Authorization: '.$token
        ));
    }

    switch ($method)
    {
        case "POST":
            curl_setopt($curl, CURLOPT_POST, 1);
            if ($data){
                if($contentType){
                    curl_setopt($curl, CURLOPT_HTTPHEADER, array(
                        'Content-Type: '.$contentType
                    ));
                }
                curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
            }
            break;
        case "PUT":
            curl_setopt($curl, CURLOPT_PUT, 1);
            break;
        default:
            if ($data)
                $url = sprintf("%s?%s", $url, http_build_query($data));
    }

    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

    $result = curl_exec($curl);

    curl_close($curl);

    return $result;
}

Đang gửi URL được mã hóa MẪU POST Yêu cầu

$postData = array("name"=>"John Doe", "from"=>"New York");
$string = http_build_query($postData);
$url = 'https://api.example.com/v1.0/user';
$jsonResponse = rest_call("POST",$url, $string, 'application/x-www-form-urlencoded');
$response = json_decode($jsonResponse);

Gửi JSON trong PHP POST Yêu cầu

Khi gửi yêu cầu dưới dạng dữ liệu JSON, tiêu đề

$url = 'https://api.example.com/v1.0/details/customer';
  
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$response = json_decode($response);
curl_close($ch);
7 cần được đặt thành
$url = 'https://api.example.com/v1.0/details/customer';
  
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$response = json_decode($response);
curl_close($ch);
8. Lưu trữ dữ liệu trong một mảng PHP và sử dụng hàm
$url = 'https://api.example.com/v1.0/details/customer';
  
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$response = json_decode($response);
curl_close($ch);
9 để chuyển đổi dữ liệu đó thành Chuỗi JSON để chuyển vào phần thân yêu cầu


$postData = array("name"=>"John Doe", "from"=>"New York");
$jsonData = json_encode($postData);
// Send the request
$url = 'https://api.example.com/v1.0/user';
$jsonResponse = rest_call('POST',$url, $jsonData,'appplication/json');

//Decode JSON back to PHP object
$response = json_decode($jsonResponse);

JSON được trả về trong phản hồi được chuyển đổi trở lại đối tượng PHP, sử dụng

$url = 'https://api.example.com/v1.0/details/customer';
  
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$response = json_decode($response);
curl_close($ch);
2. Ví dụ dưới đây cho thấy cách sử dụng JSON được trả về trong phản hồi

Kết xuất phía máy chủ với JSON trong PHP

Vì vậy, khi chúng tôi gọi API REST của mình, chúng tôi muốn sử dụng JSON ở phía máy chủ để hiển thị HTML

$covidJsonResponse = rest_call("GET","https://api.metamug.com/covid/v1.0/india");
$covidIndiaObject = json_decode($covidJsonResponse);
$lastCovidUpdateInfo = end($covidIndiaObject->historical_count);

Như bạn có thể thấy phương thức json_decode cung cấp cho chúng ta một đối tượng PHP, điều này sẽ giúp hiển thị phía máy chủ. Nếu lệnh gọi API REST này được thực hiện từ trình duyệt, chúng tôi sẽ yêu cầu thao tác dom để cập nhật div với các giá trị JSON

$url = 'https://api.example.com/v1.0/details/customer';
  
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$response = json_decode($response);
curl_close($ch);
0

Sau khi DOM được hiển thị ở phía máy khách, chúng tôi bắt buộc phải thay đổi bằng javascript. Trong trường hợp này, chúng ta có thể dễ dàng truy cập đối tượng json và các thuộc tính của nó mà không cần thao tác DOM

Chuyển JSON sang Javascript từ PHP

Có những trường hợp chúng tôi muốn gửi JSON này xuống trình duyệt như biểu đồ và cho người dùng thư viện js mà php không xử lý được. Chúng tôi có thể tạo JSON mà chúng tôi đã truy xuất bằng cách sử dụng lệnh gọi REST trong PHP thành javascript. Trong lần tải trang đầu tiên, JSON này sẽ được chuyển vào DOM. Kết xuất phía máy khách nhanh hơn vì nó có thể tránh lệnh gọi HTTP để tìm nạp JSON

Làm cách nào để trích xuất dữ liệu từ API trong PHP?

php // Bao gồm các lớp Yêu cầu và Phản hồi $url = 'https. //api. exoclick. com/v2/đăng nhập';

Làm cách nào để sử dụng URL API trong PHP?

Cách sử dụng API với PHP (Hướng dẫn đầy đủ cho người mới bắt đầu) .
Thực hiện một yêu cầu POST
Thực hiện yêu cầu NHẬN
Thực hiện yêu cầu PUT
Phương thức XÓA
Lặp lại yêu cầu GET và kiểm tra xem dữ liệu có thực sự bị xóa không

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

Sử dụng dữ liệu từ JSON với PHP. Đầu tiên, để đi sâu vào việc JSON đó chỉ đơn giản là một chuỗi, chúng ta sẽ viết JSON thành một chuỗi PHP và áp dụng nó vào một biến có tên là $data . $data = '{ "tên". "Aragorn", "chủng tộc". "Nhân loại" }'; .

Bạn có thể lấy dữ liệu từ API không?

API rất hữu ích để lấy thông tin cụ thể từ một chương trình khác . Nếu bạn biết cách đọc tài liệu và viết các yêu cầu, bạn có thể nhận lại rất nhiều dữ liệu tuyệt vời.