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. Show
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 PHPcURL 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
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 PHPViệ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. )
Đâ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 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 3 bên trong 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ỏngPHP cURL NHẬN yêu cầuLệ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 đã 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ầuRõ 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 đó
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 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 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úngPHP cURL PUT yêu cầuYê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
PHP cURL XÓA yêu cầuYê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
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 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ọiThay đổ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 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
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 Cảm ơnCả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?
Đị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 Δ 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 Đá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, Đá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. Đá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, 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, Đá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 Đá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 Đá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. Đá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? . Đá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à Đá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 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 Đá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. Đá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 Đá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. Đá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 Đá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? Đá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, 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
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 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
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? |