{"id":84580,"date":"2024-11-20T04:53:14","date_gmt":"2024-11-20T01:23:14","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/consuming-apis-in-c-a-practical-guide-for-modern-developers-465f\/"},"modified":"2024-11-20T04:53:14","modified_gmt":"2024-11-20T01:23:14","slug":"consuming-apis-in-c-a-practical-guide-for-modern-developers-465f","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/consuming-apis-in-c-a-practical-guide-for-modern-developers-465f\/","title":{"rendered":"\u0645\u0635\u0631\u0641 API \u0647\u0627 \u062f\u0631 C: \u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u0639\u0645\u0644\u06cc \u0628\u0631\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u0645\u062f\u0631\u0646"},"content":{"rendered":"<p>Summarize this content to 400 words in Persian Lang<br \/>\n            \u0627\u0645\u0631\u0648\u0632\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 API \u0647\u0627\u06cc \u0648\u0628 \u06cc\u06a9 \u0631\u0648\u0634 \u0631\u0627\u06cc\u062c \u0628\u0631\u0627\u06cc \u062a\u0628\u0627\u062f\u0644 \u062f\u0627\u062f\u0647 \u0628\u06cc\u0646 \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627 \u0627\u0633\u062a. \u0622\u0645\u0648\u0632\u0634\u200c\u0647\u0627\u06cc \u0645\u0635\u0631\u0641 API \u062f\u0631 \u0632\u0628\u0627\u0646\u200c\u0647\u0627\u06cc\u06cc \u0645\u0627\u0646\u0646\u062f \u062c\u0627\u0648\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a\u060c \u067e\u0627\u06cc\u062a\u0648\u0646 \u06cc\u0627 PHP \u0641\u0631\u0627\u0648\u0627\u0646 \u0627\u0633\u062a\u060c \u0627\u0645\u0627 C &#8211; \u0627\u063a\u0644\u0628 \u0628\u0627 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0646\u0648\u06cc\u0633\u06cc \u062f\u0631 \u0633\u0637\u062d \u0633\u06cc\u0633\u062a\u0645 \u0645\u0631\u062a\u0628\u0637 \u0627\u0633\u062a &#8211; \u0628\u0647 \u0646\u062f\u0631\u062a \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u0645\u0646\u0638\u0648\u0631 \u062f\u0631 \u0646\u0638\u0631 \u06af\u0631\u0641\u062a\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f. \u0628\u0627 \u0627\u06cc\u0646 \u062d\u0627\u0644\u060c C \u06a9\u0627\u0645\u0644\u0627\u064b \u0642\u0627\u062f\u0631 \u0628\u0647 \u0631\u0633\u06cc\u062f\u06af\u06cc \u0628\u0647 \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u200c\u0647\u0627\u06cc API \u0627\u0633\u062a\u060c \u0648 \u0622\u0646 \u0631\u0627 \u0628\u0647 \u06af\u0632\u06cc\u0646\u0647\u200c\u0627\u06cc \u0645\u0646\u0627\u0633\u0628 \u0628\u0631\u0627\u06cc \u0633\u0646\u0627\u0631\u06cc\u0648\u0647\u0627\u06cc\u06cc \u0645\u0627\u0646\u0646\u062f \u0633\u06cc\u0633\u062a\u0645\u200c\u0647\u0627\u06cc Point of Sale (PoS)\u060c \u062f\u0633\u062a\u06af\u0627\u0647\u200c\u0647\u0627\u06cc IoT \u06cc\u0627 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc \u062a\u0639\u0628\u06cc\u0647\u200c\u0634\u062f\u0647 \u062a\u0628\u062f\u06cc\u0644 \u0645\u06cc\u200c\u06a9\u0646\u062f\u060c \u062c\u0627\u06cc\u06cc \u06a9\u0647 C \u0642\u0628\u0644\u0627\u064b \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631\u0627\u06cc\u06cc \u0648 \u06a9\u0646\u062a\u0631\u0644 \u0633\u0637\u062d \u067e\u0627\u06cc\u06cc\u0646 \u0622\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f.<\/p>\n<p>\u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u0628\u0647 \u0628\u0631\u0631\u0633\u06cc \u0646\u062d\u0648\u0647 \u0645\u0635\u0631\u0641 API\u0647\u0627 \u062f\u0631 C \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 libcurl \u0645\u06cc \u067e\u0631\u062f\u0627\u0632\u062f. \u062f\u0631 \u067e\u0627\u06cc\u0627\u0646\u060c \u0645\u062a\u0648\u062c\u0647 \u062e\u0648\u0627\u0647\u06cc\u062f \u0634\u062f \u06a9\u0647 \u0686\u06af\u0648\u0646\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646 \u062f\u0627\u062f\u0647 \u0647\u0627 \u0631\u0627 \u0627\u0632 API \u0647\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 C \u0648\u0627\u06a9\u0634\u06cc \u0648 \u067e\u0631\u062f\u0627\u0632\u0634 \u06a9\u0631\u062f\u060c \u0648 \u0686\u0631\u0627 \u0627\u06cc\u0646 \u0631\u0648\u06cc\u06a9\u0631\u062f \u062d\u062a\u06cc \u062f\u0631 \u062a\u0648\u0633\u0639\u0647 \u0645\u062f\u0631\u0646 \u0645\u0631\u062a\u0628\u0637 \u0627\u0633\u062a.<\/p>\n<p>  \u0686\u0631\u0627 \u0627\u0632 C \u0628\u0631\u0627\u06cc \u0645\u0635\u0631\u0641 API \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645\u061f<\/p>\n<p>\u062f\u0631 \u062d\u0627\u0644\u06cc \u06a9\u0647 \u0632\u0628\u0627\u0646 \u0647\u0627\u06cc \u0633\u0637\u062d \u0628\u0627\u0644\u0627\u062a\u0631 \u0628\u0631 \u062a\u0648\u0633\u0639\u0647 \u0648\u0628 \u063a\u0627\u0644\u0628 \u0647\u0633\u062a\u0646\u062f\u060c C \u0647\u0646\u0648\u0632 \u06cc\u06a9 \u0627\u0646\u062a\u062e\u0627\u0628 \u0639\u0645\u0644\u06cc \u0628\u0631\u0627\u06cc \u0645\u0635\u0631\u0641 API \u062f\u0631 \u0645\u0648\u0627\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062e\u0627\u0635 \u0627\u0633\u062a:<\/p>\n<p>\u0639\u0645\u0644\u06a9\u0631\u062f: C \u0639\u0645\u0644\u06a9\u0631\u062f \u0628\u0627\u0644\u0627 \u0648 \u062d\u062f\u0627\u0642\u0644 \u0633\u0631\u0628\u0627\u0631 \u0631\u0627 \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u062f \u0648 \u0622\u0646 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0645\u062d\u06cc\u0637 \u0647\u0627\u06cc \u0628\u0627 \u0645\u062d\u062f\u0648\u062f\u06cc\u062a \u0645\u0646\u0627\u0628\u0639 \u0645\u0627\u0646\u0646\u062f \u062f\u0633\u062a\u06af\u0627\u0647 \u0647\u0627\u06cc IoT \u0645\u0646\u0627\u0633\u0628 \u0645\u06cc \u06a9\u0646\u062f.<br \/>\n\u06a9\u0646\u062a\u0631\u0644: \u0645\u062f\u06cc\u0631\u06cc\u062a \u062d\u0627\u0641\u0638\u0647 \u0645\u0633\u062a\u0642\u06cc\u0645 \u0627\u0645\u06a9\u0627\u0646 \u0628\u0647\u06cc\u0646\u0647 \u0633\u0627\u0632\u06cc \u062f\u0642\u06cc\u0642 \u0631\u0627 \u0628\u0647 \u062e\u0635\u0648\u0635 \u0628\u0631\u0627\u06cc \u0633\u06cc\u0633\u062a\u0645 \u0647\u0627\u06cc \u062a\u0639\u0628\u06cc\u0647 \u0634\u062f\u0647 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc \u06a9\u0646\u062f.<br \/>\n\u0642\u0627\u0628\u0644\u06cc\u062a \u0647\u0645\u06a9\u0627\u0631\u06cc: \u06a9\u0627\u0631\u0628\u0631\u062f \u06af\u0633\u062a\u0631\u062f\u0647 C \u0628\u0647 \u0627\u06cc\u0646 \u0645\u0639\u0646\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0628\u0647 \u062e\u0648\u0628\u06cc \u0628\u0627 \u0639\u0645\u0644\u06cc\u0627\u062a \u0633\u0637\u062d \u0633\u06cc\u0633\u062a\u0645\u060c \u0645\u0627\u0646\u0646\u062f \u06a9\u0646\u062a\u0631\u0644 \u0633\u062e\u062a \u0627\u0641\u0632\u0627\u0631\u060c \u062d\u0633\u06af\u0631\u0647\u0627 \u06cc\u0627 \u0633\u0627\u06cc\u0631 \u062a\u062c\u0647\u06cc\u0632\u0627\u062a \u062c\u0627\u0646\u0628\u06cc \u0627\u062f\u063a\u0627\u0645 \u0645\u06cc \u0634\u0648\u062f.<br \/>\n\u0637\u0648\u0644 \u0639\u0645\u0631: \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u0633\u0627\u062e\u062a\u0647 \u0634\u062f\u0647 \u062f\u0631 C \u0627\u063a\u0644\u0628 \u0637\u0648\u0644 \u0639\u0645\u0631 \u0637\u0648\u0644\u0627\u0646\u06cc \u062f\u0627\u0631\u0646\u062f\u060c \u0628\u0647 \u0648\u06cc\u0698\u0647 \u062f\u0631 \u0635\u0646\u0627\u06cc\u0639\u06cc \u0645\u0627\u0646\u0646\u062f \u062e\u0631\u062f\u0647 \u0641\u0631\u0648\u0634\u06cc \u06cc\u0627 \u062a\u0648\u0644\u06cc\u062f.<\/p>\n<p>  \u0645\u0639\u0631\u0641\u06cc libcurl: \u0627\u0628\u0632\u0627\u0631\u06cc \u0628\u0631\u0627\u06cc HTTP \u062f\u0631 C<\/p>\n<p>\u0628\u0631\u0627\u06cc \u0645\u0635\u0631\u0641 API\u0647\u0627 \u062f\u0631 C\u060c libcurl \u0628\u0647\u062a\u0631\u06cc\u0646 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0627\u0633\u062a. \u0627\u06cc\u0646 \u06cc\u06a9 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0645\u0646\u0628\u0639 \u0628\u0627\u0632\u060c \u0642\u0627\u0628\u0644 \u062d\u0645\u0644 \u0648 \u062f\u0627\u0631\u0627\u06cc \u0648\u06cc\u0698\u06af\u06cc \u0647\u0627\u06cc \u063a\u0646\u06cc \u0628\u0631\u0627\u06cc \u0631\u0633\u06cc\u062f\u06af\u06cc \u0628\u0647 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0647\u0627\u06cc \u0634\u0628\u06a9\u0647 \u0627\u0632 \u0637\u0631\u06cc\u0642 HTTP\u060c HTTPS\u060c FTP \u0648 \u0645\u0648\u0627\u0631\u062f \u062f\u06cc\u06af\u0631 \u0627\u0633\u062a. \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0645\u06cc \u06a9\u0646\u062f:<\/p>\n<p>\u0627\u06cc\u062c\u0627\u062f GET\u060c POST \u0648 \u0633\u0627\u06cc\u0631 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0647\u0627\u06cc HTTP.<br \/>\n\u0645\u062f\u06cc\u0631\u06cc\u062a \u0647\u062f\u0631\u0647\u0627 \u0648 \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a<br \/>\n\u067e\u0631\u062f\u0627\u0632\u0634 \u067e\u0627\u0633\u062e \u0647\u0627 \u0628\u0647 \u0637\u0648\u0631 \u0645\u0648\u062b\u0631<\/p>\n<p>  \u0645\u0631\u0627\u062d\u0644 \u0627\u0648\u0644\u06cc\u0647 \u0628\u0631\u0627\u06cc \u0645\u0635\u0631\u0641 API \u062f\u0631 C<\/p>\n<p>\u0628\u06cc\u0627\u06cc\u06cc\u062f \u0631\u0648\u0646\u062f \u0645\u0635\u0631\u0641 \u06cc\u06a9 API \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 C \u0631\u0627 \u0637\u06cc \u06a9\u0646\u06cc\u0645\u060c \u0628\u0627 \u062a\u0645\u0631\u06a9\u0632 \u0628\u0631 \u06cc\u06a9 \u0645\u062b\u0627\u0644 \u0648\u0627\u0642\u0639\u06cc \u0627\u0632 \u0648\u0627\u06a9\u0634\u06cc \u062f\u0627\u062f\u0647\u200c\u0647\u0627\u06cc JSON.<\/p>\n<p>  \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0648 \u0646\u0635\u0628<\/p>\n<p>\u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 libcurl \u0628\u0627\u06cc\u062f \u0622\u0646 \u0631\u0627 \u0631\u0648\u06cc \u0633\u06cc\u0633\u062a\u0645 \u062e\u0648\u062f \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f. \u0628\u0631\u0627\u06cc \u0627\u06a9\u062b\u0631 \u062a\u0648\u0632\u06cc\u0639 \u0647\u0627\u06cc \u0644\u06cc\u0646\u0648\u06a9\u0633\u060c \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0631\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646 \u0628\u0627 \u0645\u0648\u0627\u0631\u062f \u0632\u06cc\u0631 \u0627\u0646\u062c\u0627\u0645 \u062f\u0627\u062f:<\/p>\n<p>sudo apt-get install libcurl4-openssl-dev<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u062f\u0631 \u0648\u06cc\u0646\u062f\u0648\u0632\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0627\u06cc\u0646\u0631\u06cc \u0647\u0627\u06cc \u0627\u0632 \u067e\u06cc\u0634 \u06a9\u0627\u0645\u067e\u0627\u06cc\u0644 \u0634\u062f\u0647 \u0631\u0627 \u0627\u0632 \u0648\u0628 \u0633\u0627\u06cc\u062a libcurl \u062f\u0627\u0646\u0644\u0648\u062f \u06a9\u0646\u06cc\u062f: https:\/\/curl.se\/download.html<\/p>\n<p>\u062f\u0631 macOS \u0627\u06af\u0631 \u0627\u0632 Homebrew \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u062f\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0622\u0646 \u0631\u0627 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f<\/p>\n<p>brew install curl<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  \u0633\u0627\u062e\u062a\u0627\u0631 \u0628\u0631\u0646\u0627\u0645\u0647 C \u062e\u0648\u062f \u0631\u0627<\/p>\n<p>\u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 \u0633\u0627\u062f\u0647 C \u0628\u0631\u0627\u06cc \u0648\u0627\u06a9\u0634\u06cc \u062f\u0627\u062f\u0647 \u0647\u0627 \u0627\u0632 \u06cc\u06a9 API \u0634\u0627\u0645\u0644 \u0627\u062c\u0632\u0627\u06cc \u0632\u06cc\u0631 \u0627\u0633\u062a:<\/p>\n<p>\u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc libcurl<br \/>\n\u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a API (URL\u060c \u0631\u0648\u0634 HTTP\u060c \u0647\u062f\u0631\u0647\u0627 \u0648 \u063a\u06cc\u0631\u0647).<br \/>\n\u062f\u0631\u06cc\u0627\u0641\u062a \u0648 \u0630\u062e\u06cc\u0631\u0647 \u067e\u0627\u0633\u062e.<br \/>\n\u067e\u0627\u06a9\u0633\u0627\u0632\u06cc \u0645\u0646\u0627\u0628\u0639<\/p>\n<p>\u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u06cc\u06a9 \u0646\u0645\u0648\u0646\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u0628\u0631\u0627\u06cc \u0648\u0627\u06a9\u0634\u06cc \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc JSON \u0627\u0632 \u06cc\u06a9 API \u0639\u0645\u0648\u0645\u06cc \u0622\u0648\u0631\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a:<\/p>\n<p>#include<br \/>\n#include<br \/>\n#include<br \/>\n#include <\/p>\n<p>\/\/ Struct to hold response data<br \/>\nstruct Memory {<br \/>\n    char *response;<br \/>\n    size_t size;<br \/>\n};<\/p>\n<p>\/\/ Callback function to handle the data received from the API<br \/>\nstatic size_t ResponseCallback(void *contents, size_t size, size_t nmemb, void *userp) {<br \/>\n    size_t totalSize = size * nmemb;<br \/>\n    struct Memory *mem = (struct Memory *)userp;<\/p>\n<p>    printf(&#8220;. %zu %zu\\n&#8221;, size, nmemb);<br \/>\n    char *ptr = realloc(mem-&gt;response, mem-&gt;size + totalSize + 1);<br \/>\n    if (ptr == NULL) {<br \/>\n        printf(&#8220;Not enough memory to allocate buffer.\\n&#8221;);<br \/>\n        return 0;<br \/>\n    }<\/p>\n<p>    mem-&gt;response = ptr;<br \/>\n    memcpy(&amp;(mem-&gt;response[mem-&gt;size]), contents, totalSize);<br \/>\n    mem-&gt;size += totalSize;<br \/>\n    mem-&gt;response[mem-&gt;size] = &#8216;\\0&#8217;;<\/p>\n<p>    return totalSize;<br \/>\n}<\/p>\n<p>int main() {<br \/>\n    CURL *curl;<br \/>\n    CURLcode res;<br \/>\n    struct Memory chunk;<\/p>\n<p>    chunk.response = malloc(1);  \/\/ Initialize memory<br \/>\n    chunk.size = 0;             \/\/ No data yet<\/p>\n<p>    curl_global_init(CURL_GLOBAL_DEFAULT);<br \/>\n    curl = curl_easy_init();<\/p>\n<p>    if (curl) {<br \/>\n        \/\/ Set URL of the API endpoint<br \/>\n        char access_token[] = &#8220;your-access-token&#8221;;<br \/>\n        char slug[] = &#8220;home&#8221;;<br \/>\n        char version[]= &#8220;draft&#8221;;<br \/>\n        char url[256];<br \/>\n        snprintf(url, sizeof(url), &#8220;https:\/\/api.storyblok.com\/v2\/cdn\/stories\/%s?version=%s&amp;token=%s&#8221;, slug, version, access_token);<\/p>\n<p>        \/\/ Print the URL<br \/>\n        printf(&#8220;URL: %s\\n&#8221;, url);<\/p>\n<p>        \/\/ initializing libcurl<\/p>\n<p>        \/\/ setting the URL<br \/>\n        curl_easy_setopt(curl, CURLOPT_URL, url );<\/p>\n<p>        \/\/ Follow redirect<br \/>\n        curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);<\/p>\n<p>        \/\/ Set callback function to handle response data<br \/>\n        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, ResponseCallback);<\/p>\n<p>        \/\/ Pass the Memory struct to the callback function<br \/>\n        curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void *)&amp;chunk);<\/p>\n<p>        \/\/ Perform the HTTP GET request<br \/>\n        res = curl_easy_perform(curl);<\/p>\n<p>        \/\/ Check for errors<br \/>\n        if (res != CURLE_OK) {<br \/>\n            fprintf(stderr, &#8220;curl_easy_perform() failed: %s\\n&#8221;, curl_easy_strerror(res));<br \/>\n        } else {<br \/>\n            printf(&#8220;Response data size: %zu\\n&#8221;, chunk.size);<br \/>\n            \/\/printf(&#8220;Response data: \\n%s\\n&#8221;, chunk.response);<br \/>\n        }<\/p>\n<p>        \/\/ Cleanup<br \/>\n        curl_easy_cleanup(curl);<br \/>\n    }<\/p>\n<p>    \/\/ Free allocated memory<br \/>\n    free(chunk.response);<\/p>\n<p>    curl_global_cleanup();<br \/>\n    return 0;<br \/>\n}<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  \u0645\u0631\u0627\u062d\u0644 \u0627\u062c\u0631\u0627<\/p>\n<p>\u06a9\u062f \u0631\u0627 \u062f\u0631 \u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u062f\u060c \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644\u060c get.c.\u0628\u0627 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0622\u0646 \u0631\u0627 \u06a9\u0627\u0645\u067e\u0627\u06cc\u0644 \u06a9\u0646\u06cc\u062f:<\/p>\n<p>gcc get.c -o get -lcurl<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0628\u0631\u0646\u0627\u0645\u0647 \u06a9\u0627\u0645\u067e\u0627\u06cc\u0644 \u0634\u062f\u0647 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n<p>.\/get<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  \u062f\u0631\u06a9 \u0645\u06a9\u0627\u0646\u06cc\u0633\u0645 \u067e\u0627\u0633\u062e \u0628\u0647 \u062a\u0645\u0627\u0633 \u062f\u0631 \u067e\u0627\u0633\u062e \u0647\u0627\u06cc HTTP \u0628\u0627 libcurl<\/p>\n<p>\u0647\u0646\u06af\u0627\u0645 \u06a9\u0627\u0631 \u0628\u0627 libcurl \u0628\u0631\u0627\u06cc \u0631\u0633\u06cc\u062f\u06af\u06cc \u0628\u0647 \u067e\u0627\u0633\u062e\u200c\u0647\u0627\u06cc HTTP \u062f\u0631 C\u060c \u062f\u0631\u06a9 \u0631\u0641\u062a\u0627\u0631 \u062a\u0627\u0628\u0639 callback \u0645\u0647\u0645 \u0627\u0633\u062a. \u062a\u0627\u0628\u0639 callback \u06a9\u0647 \u0628\u0631\u0627\u06cc \u067e\u0631\u062f\u0627\u0632\u0634 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u067e\u0627\u0633\u062e \u062a\u0639\u0631\u06cc\u0641 \u0645\u06cc \u06a9\u0646\u06cc\u062f\u060c \u0645\u0627\u0646\u0646\u062f ResponseCallback \u062a\u0627\u0628\u0639\u060c \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0686\u0646\u062f\u06cc\u0646 \u0628\u0627\u0631 \u0628\u0631\u0627\u06cc \u06cc\u06a9 \u067e\u0627\u0633\u062e HTTP \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0634\u0648\u062f. \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u062f\u0644\u06cc\u0644 \u0648 \u0646\u062d\u0648\u0647 \u06a9\u0627\u0631 \u0627\u06cc\u0646 \u0627\u0633\u062a.<\/p>\n<p>  \u0686\u0631\u0627 \u062a\u0645\u0627\u0633 \u0628\u0631\u06af\u0634\u062a\u06cc \u0686\u0646\u062f\u06cc\u0646 \u0628\u0627\u0631 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0645\u06cc \u0634\u0648\u062f\u061f<\/p>\n<p>\u0645\u06a9\u0627\u0646\u06cc\u0633\u0645 \u062a\u0645\u0627\u0633 \u062f\u0631 libcurl \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u06a9\u0627\u0631\u0622\u0645\u062f \u0648 \u0627\u0646\u0639\u0637\u0627\u0641 \u067e\u0630\u06cc\u0631 \u062f\u0627\u062f\u0647 \u0647\u0627 \u0637\u0631\u0627\u062d\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a. libcurl \u0628\u0647 \u062c\u0627\u06cc \u0645\u0646\u062a\u0638\u0631 \u0645\u0627\u0646\u062f\u0646 \u0628\u0631\u0627\u06cc \u062f\u0627\u0646\u0644\u0648\u062f \u06a9\u0644 \u067e\u0627\u0633\u062e \u0642\u0628\u0644 \u0627\u0632 \u067e\u0631\u062f\u0627\u0632\u0634\u060c \u067e\u0627\u0633\u062e \u0631\u0627 \u062f\u0631 \u062a\u06a9\u0647 \u0647\u0627\u06cc \u06a9\u0648\u0686\u06a9\u062a\u0631 \u067e\u0631\u062f\u0627\u0632\u0634 \u0645\u06cc \u06a9\u0646\u062f \u0648 \u0628\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u0647\u0631 \u062a\u06a9\u0647\u060c \u062a\u0627\u0628\u0639 \u067e\u0627\u0633\u062e \u0628\u0647 \u062a\u0645\u0627\u0633 \u0634\u0645\u0627 \u0631\u0627 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>\u0627\u06cc\u0646 \u0631\u0641\u062a\u0627\u0631 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc \u062f\u0647\u062f:<\/p>\n<p>\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0627\u0631\u0622\u0645\u062f \u0627\u0632 \u062d\u0627\u0641\u0638\u0647: \u0628\u0627 \u067e\u0631\u062f\u0627\u0632\u0634 \u062a\u06a9\u0647 \u0647\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u062a\u062f\u0631\u06cc\u062c\u06cc\u060c \u0627\u0632 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u062a\u062e\u0635\u06cc\u0635 \u06cc\u06a9 \u0628\u0644\u0648\u06a9 \u0628\u0632\u0631\u06af \u0627\u0632 \u062d\u0627\u0641\u0638\u0647 \u0628\u0631\u0627\u06cc \u06a9\u0644 \u067e\u0627\u0633\u062e \u0627\u062c\u062a\u0646\u0627\u0628 \u0645\u06cc \u06a9\u0646\u06cc\u062f.<br \/>\n\u067e\u0631\u062f\u0627\u0632\u0634 \u062c\u0631\u06cc\u0627\u0646\u06cc: \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0647\u0631 \u0642\u0637\u0639\u0647 \u0631\u0627 \u0647\u0646\u06af\u0627\u0645 \u0631\u0633\u06cc\u062f\u0646 \u067e\u0631\u062f\u0627\u0632\u0634 \u06a9\u0646\u06cc\u062f \u06cc\u0627 \u0631\u0648\u06cc \u0622\u0646 \u0639\u0645\u0644 \u06a9\u0646\u06cc\u062f\u060c \u06a9\u0647 \u0628\u0631\u0627\u06cc \u067e\u062e\u0634 \u067e\u0627\u0633\u062e\u200c\u0647\u0627\u06cc \u0628\u0632\u0631\u06af \u06cc\u0627 \u0645\u062f\u06cc\u0631\u06cc\u062a \u062f\u0627\u062f\u0647\u200c\u0647\u0627 \u062f\u0631 \u0632\u0645\u0627\u0646 \u0648\u0627\u0642\u0639\u06cc \u0645\u0641\u06cc\u062f \u0627\u0633\u062a.<\/p>\n<p>\u0686\u06af\u0648\u0646\u0647 \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f\u061f\u0647\u0631 \u0628\u0627\u0631 \u06a9\u0647 \u062a\u06a9\u0647\u200c\u0627\u06cc \u0627\u0632 \u062f\u0627\u062f\u0647\u200c\u0647\u0627 \u0627\u0632 \u0633\u0631\u0648\u0631 \u062f\u0631\u06cc\u0627\u0641\u062a \u0645\u06cc\u200c\u0634\u0648\u062f\u060c libcurl \u062a\u0627\u0628\u0639 \u062a\u0645\u0627\u0633 \u0634\u0645\u0627 \u0631\u0627 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0627\u0646\u062f\u0627\u0632\u0647 \u0647\u0631 \u0642\u0637\u0639\u0647 \u0628\u0647 \u0634\u0631\u0627\u06cc\u0637 \u0634\u0628\u06a9\u0647\u060c \u0627\u0646\u062f\u0627\u0632\u0647 \u0628\u0627\u0641\u0631 \u0648 \u0645\u0646\u0637\u0642 \u062f\u0627\u062e\u0644\u06cc libcurl \u0628\u0633\u062a\u06af\u06cc \u062f\u0627\u0631\u062f.\u062a\u0645\u0627\u0633 \u0628\u0631\u06af\u0634\u062a\u06cc \u0628\u0627\u06cc\u062f \u062a\u06a9\u0647 \u0647\u0627 \u0631\u0627 \u062c\u0645\u0639 \u06a9\u0646\u062f \u0648 \u062f\u0631 \u0646\u0647\u0627\u06cc\u062a \u067e\u0627\u0633\u062e \u06a9\u0627\u0645\u0644 \u0631\u0627 \u0628\u0627\u0632\u0633\u0627\u0632\u06cc \u06a9\u0646\u062f.<\/p>\n<p>\u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u06cc\u06a9 \u062f\u0646\u0628\u0627\u0644\u0647 \u0646\u0645\u0648\u0646\u0647 \u0627\u0633\u062a:<\/p>\n<p>\u0633\u0631\u0648\u0631 \u0634\u0631\u0648\u0639 \u0628\u0647 \u0627\u0631\u0633\u0627\u0644 \u067e\u0627\u0633\u062e \u0645\u06cc \u06a9\u0646\u062f.<br \/>\nlibcurl \u0627\u0648\u0644\u06cc\u0646 \u062a\u06a9\u0647 \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u0645\u06cc \u06a9\u0646\u062f \u0648 callback \u0631\u0627 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0645\u06cc \u06a9\u0646\u062f.<br \/>\n\u067e\u0627\u0633\u062e \u0628\u0647 \u062a\u0645\u0627\u0633\u060c \u062a\u06a9\u0647 \u0631\u0627 \u067e\u0631\u062f\u0627\u0632\u0634 \u06cc\u0627 \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc \u06a9\u0646\u062f.<br \/>\nlibcurl \u0642\u0637\u0639\u0647 \u0628\u0639\u062f\u06cc \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u0645\u06cc \u06a9\u0646\u062f \u0648 \u062f\u0648\u0628\u0627\u0631\u0647 \u062a\u0645\u0627\u0633 \u0631\u0627 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0645\u06cc \u06a9\u0646\u062f.<br \/>\n\u0627\u06cc\u0646 \u0631\u0648\u0646\u062f \u062a\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0644 \u067e\u0627\u0633\u062e \u0627\u062f\u0627\u0645\u0647 \u0645\u06cc \u06cc\u0627\u0628\u062f.<\/p>\n<p>  \u062a\u0648\u0636\u06cc\u062d \u06af\u0627\u0645 \u0628\u0647 \u06af\u0627\u0645 \u06a9\u062f \u0645\u0646\u0628\u0639 \u0628\u0631\u0627\u06cc ResponseCallback \u062a\u0627\u0628\u0639<\/p>\n<p>\u0631\u0627 ResponseCallback \u062a\u0627\u0628\u0639\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0647\u0646\u06af\u0627\u0645 \u062f\u0631\u06cc\u0627\u0641\u062a \u062f\u0627\u062f\u0647 \u062a\u0648\u0633\u0637 libcurl \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0645\u06cc \u0634\u0648\u062f.<\/p>\n<p>  \u0627\u0639\u0644\u0627\u0645\u06cc\u0647 \u0639\u0645\u0644\u06a9\u0631\u062f<\/p>\n<p>static size_t ResponseCallback(void *contents, size_t size, size_t nmemb, void *userp)<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>void *contents: \u0627\u06cc\u0646 \u06cc\u06a9 \u0627\u0634\u0627\u0631\u0647 \u06af\u0631 \u0628\u0647 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u062f\u0631\u06cc\u0627\u0641\u062a \u0634\u062f\u0647 \u0627\u0632 \u0633\u0631\u0648\u0631 \u0627\u0633\u062a. libcurl \u0627\u06cc\u0646 \u0628\u0627\u0641\u0631 \u0631\u0627 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc \u06a9\u0646\u062f \u0648 \u0622\u0646 \u0631\u0627 \u0628\u0627 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc\u06cc \u06a9\u0647 \u062f\u0627\u0646\u0644\u0648\u062f \u0645\u06cc \u06a9\u0646\u062f \u067e\u0631 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>size_t size  \u0648 size_t nmemb: \u0627\u0646\u062f\u0627\u0632\u0647 \u0647\u0631 \u0628\u0644\u0648\u06a9 \u062d\u0627\u0641\u0638\u0647 (\u0627\u0646\u062f\u0627\u0632\u0647) \u0648 \u062a\u0639\u062f\u0627\u062f \u0628\u0644\u0648\u06a9 \u0647\u0627 (nmemb) \u0631\u0627 \u0646\u0634\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f. \u0628\u0627 \u0647\u0645\u060c size * nmemb \u0627\u0646\u062f\u0627\u0632\u0647 \u06a9\u0644 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u062f\u0631\u06cc\u0627\u0641\u062a \u0634\u062f\u0647 \u062f\u0631 \u0627\u06cc\u0646 \u0642\u0637\u0639\u0647 \u0631\u0627 \u0646\u0634\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f.<\/p>\n<p>void *userp: \u0627\u06cc\u0646 \u06cc\u06a9 \u0627\u0634\u0627\u0631\u0647 \u06af\u0631 \u062a\u0639\u0631\u06cc\u0641 \u0634\u062f\u0647 \u062a\u0648\u0633\u0637 \u06a9\u0627\u0631\u0628\u0631 \u0627\u0633\u062a \u06a9\u0647 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0622\u0646 \u0628\u0647 \u062a\u0627\u0628\u0639 callback \u0627\u0631\u0633\u0627\u0644 \u0645\u06cc \u0634\u0648\u062f curl_easy_setopt(curl, CURLOPT_WRITEDATA, &#8230;). \u062f\u0631 \u0627\u06cc\u0646 \u0645\u062b\u0627\u0644\u060c \u0627\u06cc\u0646 \u06cc\u06a9 \u0627\u0634\u0627\u0631\u0647 \u06af\u0631 \u0628\u0647 \u06cc\u06a9 \u0634\u06cc struct Memory \u0627\u0633\u062a \u06a9\u0647 \u067e\u0627\u0633\u062e \u06a9\u0627\u0645\u0644 \u0631\u0627 \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>  \u0627\u0646\u062f\u0627\u0632\u0647 \u06a9\u0644 \u062f\u0627\u062f\u0647 \u0647\u0627 \u0631\u0627 \u0645\u062d\u0627\u0633\u0628\u0647 \u06a9\u0646\u06cc\u062f<\/p>\n<p>size_t totalSize = size * nmemb;<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0627\u06cc\u0646 \u0627\u0646\u062f\u0627\u0632\u0647 \u06a9\u0644 \u0642\u0637\u0639\u0647 \u0641\u0639\u0644\u06cc \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u062f\u0631\u06cc\u0627\u0641\u062a\u06cc \u0631\u0627 \u0628\u0627 \u0636\u0631\u0628 \u0627\u0646\u062f\u0627\u0632\u0647 \u06cc\u06a9 \u0628\u0644\u0648\u06a9 (\u0627\u0646\u062f\u0627\u0632\u0647) \u062f\u0631 \u062a\u0639\u062f\u0627\u062f \u0628\u0644\u0648\u06a9 \u0647\u0627 (nmemb) \u0645\u062d\u0627\u0633\u0628\u0647 \u0645\u06cc \u06a9\u0646\u062f.\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644\u060c \u0627\u06af\u0631 \u0633\u0631\u0648\u0631 8 \u0628\u0644\u0648\u06a9 256 \u0628\u0627\u06cc\u062a\u06cc \u0631\u0627 \u0627\u0631\u0633\u0627\u0644 \u06a9\u0646\u062f\u060c totalSize 8 * 256 = 2048 \u0628\u0627\u06cc\u062a \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f.<\/p>\n<p>  \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631 (struct Memory)<\/p>\n<p>struct Memory *mem = (struct Memory *)userp;<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0631\u0627 userp \u0627\u0634\u0627\u0631\u0647 \u06af\u0631 \u0628\u0647 a \u0641\u0631\u0633\u062a\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f struct Memory *. \u0627\u06cc\u0646 \u0633\u0627\u062e\u062a\u0627\u0631 \u0642\u0628\u0644\u0627\u064b \u062f\u0631 \u0628\u0631\u0646\u0627\u0645\u0647 \u0627\u0635\u0644\u06cc \u0627\u0631\u0633\u0627\u0644 \u0634\u062f\u0647 \u0627\u0633\u062a \u0648 \u0628\u0631\u0627\u06cc \u062c\u0645\u0639 \u0622\u0648\u0631\u06cc \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u062f\u0631\u06cc\u0627\u0641\u062a\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f.<\/p>\n<p>\u0631\u0627 struct Memory \u0628\u0647 \u0627\u06cc\u0646 \u0635\u0648\u0631\u062a \u062a\u0639\u0631\u06cc\u0641 \u0645\u06cc \u0634\u0648\u062f:<\/p>\n<p>struct Memory {<br \/>\n    char *response;<br \/>\n    size_t size;<br \/>\n};<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>response: \u0631\u0634\u062a\u0647 \u0627\u06cc \u0627\u062e\u062a\u0635\u0627\u0635 \u062f\u0627\u062f\u0647 \u0634\u062f\u0647 \u0628\u0647 \u0635\u0648\u0631\u062a \u067e\u0648\u06cc\u0627 \u06a9\u0647 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u062f\u0627\u0646\u0644\u0648\u062f \u0634\u062f\u0647 \u0631\u0627 \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>size: \u0627\u0646\u062f\u0627\u0632\u0647 \u0641\u0639\u0644\u06cc \u0631\u0634\u062a\u0647 \u067e\u0627\u0633\u062e.<\/p>\n<p>  \u062a\u062e\u0635\u06cc\u0635 \u0645\u062c\u062f\u062f \u062d\u0627\u0641\u0638\u0647<\/p>\n<p>char *ptr = realloc(mem-&gt;response, mem-&gt;size + totalSize + 1);<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0627\u0646\u062f\u0627\u0632\u0647 \u0628\u0627\u0641\u0631 \u067e\u0627\u0633\u062e \u0631\u0627 \u0628\u0631\u0627\u06cc \u0642\u0631\u0627\u0631 \u062f\u0627\u062f\u0646 \u0642\u0637\u0639\u0647 \u062f\u0627\u062f\u0647 \u062c\u062f\u06cc\u062f \u062a\u063a\u06cc\u06cc\u0631 \u0645\u06cc \u062f\u0647\u062f:<\/p>\n<p>mem-&gt;size: \u0627\u0646\u062f\u0627\u0632\u0647 \u0641\u0639\u0644\u06cc \u0628\u0627\u0641\u0631.<\/p>\n<p>totalSize: \u0627\u0646\u062f\u0627\u0632\u0647 \u062a\u06a9\u0647 \u062c\u062f\u06cc\u062f.<\/p>\n<p>+1: \u0628\u0631\u0627\u06cc \u067e\u0627\u06cc\u0627\u0646 \u062f\u0647\u0646\u062f\u0647 \u062a\u0647\u06cc (\\0) \u0641\u0627\u0635\u0644\u0647 \u0628\u06af\u0630\u0627\u0631\u06cc\u062f \u062a\u0627 \u0622\u0646 \u0631\u0627 \u0628\u0647 \u06cc\u06a9 \u0631\u0634\u062a\u0647 C \u0645\u0639\u062a\u0628\u0631 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>realloc: \u0628\u0647 \u0635\u0648\u0631\u062a \u067e\u0648\u06cc\u0627 \u062d\u0627\u0641\u0638\u0647 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0628\u0627\u0641\u0631 \u067e\u0627\u0633\u062e \u062a\u062e\u0635\u06cc\u0635 \u0645\u06cc \u062f\u0647\u062f.<\/p>\n<p>\u0627\u06af\u0631 \u062a\u062e\u0635\u06cc\u0635 \u0646\u0627\u0645\u0648\u0641\u0642 \u0628\u0627\u0634\u062f\u060c realloc NULL \u0631\u0627 \u0628\u0631\u0645\u06cc \u06af\u0631\u062f\u0627\u0646\u062f \u0648 \u062d\u0627\u0641\u0638\u0647 \u0642\u062f\u06cc\u0645\u06cc \u0645\u0639\u062a\u0628\u0631 \u0628\u0627\u0642\u06cc \u0645\u06cc \u0645\u0627\u0646\u062f.<\/p>\n<p>  \u0631\u0633\u06cc\u062f\u06af\u06cc \u0628\u0647 \u062e\u0637\u0627\u0647\u0627\u06cc \u062a\u062e\u0635\u06cc\u0635 \u062d\u0627\u0641\u0638\u0647<\/p>\n<p>if (ptr == NULL) {<br \/>\n    printf(&#8220;Not enough memory to allocate buffer.\\n&#8221;);<br \/>\n    return 0;<br \/>\n}<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0627\u06af\u0631 \u062a\u062e\u0635\u06cc\u0635 \u062d\u0627\u0641\u0638\u0647 \u0646\u0627\u0645\u0648\u0641\u0642 \u0628\u0627\u0634\u062f (\u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 ptr \u0627\u0633\u062a NULL\u060c \u06cc\u06a9 \u067e\u06cc\u063a\u0627\u0645 \u062e\u0637\u0627 \u0686\u0627\u067e \u06a9\u0646\u06cc\u062f \u0648 0 \u0631\u0627 \u0628\u0631\u06af\u0631\u062f\u0627\u0646\u06cc\u062f. \u0628\u0627\u0632\u06af\u0634\u062a 0 \u0628\u0647 libcurl \u0633\u06cc\u06af\u0646\u0627\u0644 \u0645\u06cc \u062f\u0647\u062f \u062a\u0627 \u0627\u0646\u062a\u0642\u0627\u0644 \u0631\u0627 \u0644\u063a\u0648 \u06a9\u0646\u062f.<\/p>\n<p>  \u0628\u0627\u0641\u0631 \u0631\u0627 \u0628\u0647 \u0631\u0648\u0632 \u06a9\u0646\u06cc\u062f<\/p>\n<p>mem-&gt;response = ptr;<br \/>\nmemcpy(&amp;(mem-&gt;response[mem-&gt;size]), contents, totalSize);<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>mem-&gt;response = ptr: \u062d\u0627\u0641\u0638\u0647 \u062a\u062e\u0635\u06cc\u0635 \u06cc\u0627\u0641\u062a\u0647 \u062c\u062f\u06cc\u062f \u0631\u0627 \u0628\u0647 \u0646\u0634\u0627\u0646\u06af\u0631 \u067e\u0627\u0633\u062e \u0628\u0627\u0632\u06af\u0631\u062f\u0627\u0646\u06cc\u062f.<\/p>\n<p>memcpy: \u062a\u06a9\u0647 \u062c\u062f\u06cc\u062f\u06cc \u0627\u0632 \u062f\u0627\u062f\u0647 \u0647\u0627 \u0631\u0627 \u0627\u0632 \u0645\u062d\u062a\u0648\u06cc\u0627\u062a \u062f\u0631 \u0628\u0627\u0641\u0631 \u06a9\u067e\u06cc \u06a9\u0646\u06cc\u062f:<\/p>\n<p>&amp;(mem-&gt;response[mem-&gt;size]): \u0645\u06a9\u0627\u0646\u06cc \u062f\u0631 \u0628\u0627\u0641\u0631 \u06a9\u0647 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u062c\u062f\u06cc\u062f \u0628\u0627\u06cc\u062f \u062f\u0631 \u0622\u0646 \u0627\u0636\u0627\u0641\u0647 \u0634\u0648\u0646\u062f (\u067e\u0627\u06cc\u0627\u0646 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0641\u0639\u0644\u06cc).<\/p>\n<p>contents: \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u062f\u0631\u06cc\u0627\u0641\u062a\u06cc \u0627\u0632 \u0633\u0631\u0648\u0631.<\/p>\n<p>totalSize: \u0627\u0646\u062f\u0627\u0632\u0647 \u062f\u0627\u062f\u0647 \u0628\u0631\u0627\u06cc \u06a9\u067e\u06cc \u06a9\u0631\u062f\u0646.<\/p>\n<p>  \u0627\u0646\u062f\u0627\u0632\u0647 \u06a9\u0644 \u0631\u0627 \u0628\u0647 \u0631\u0648\u0632 \u06a9\u0646\u06cc\u062f<\/p>\n<p>mem-&gt;size += totalSize;<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0627\u0646\u062f\u0627\u0632\u0647 \u0628\u0627\u0641\u0631 \u067e\u0627\u0633\u062e \u0631\u0627 \u0627\u0641\u0632\u0627\u06cc\u0634 \u062f\u0647\u06cc\u062f \u062a\u0627 \u0627\u0646\u062f\u0627\u0632\u0647 \u06a9\u0644 \u062c\u062f\u06cc\u062f \u067e\u0633 \u0627\u0632 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0642\u0637\u0639\u0647 \u062c\u062f\u06cc\u062f \u0645\u0646\u0639\u06a9\u0633 \u0634\u0648\u062f.<\/p>\n<p>  \u062a\u0647\u06cc \u0631\u0634\u062a\u0647 \u067e\u0627\u0633\u062e \u0631\u0627 \u062e\u0627\u062a\u0645\u0647 \u062f\u0647\u06cc\u062f<\/p>\n<p>mem-&gt;response[mem-&gt;size] = &#8216;\\0&#8217;;<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u06cc\u06a9 \u067e\u0627\u06cc\u0627\u0646 \u062f\u0647\u0646\u062f\u0647 \u062a\u0647\u06cc \u062f\u0631 \u0627\u0646\u062a\u0647\u0627\u06cc \u0628\u0627\u0641\u0631 \u067e\u0627\u0633\u062e \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0622\u0646 \u0631\u0627 \u0628\u0647 \u06cc\u06a9 \u0631\u0634\u062a\u0647 C \u0645\u0639\u062a\u0628\u0631 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0646\u06cc\u062f.\u0627\u06cc\u0646 \u062a\u0636\u0645\u06cc\u0646 \u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u067e\u0627\u0633\u062e \u0631\u0627 \u0628\u0647\u200c\u0637\u0648\u0631 \u0627\u06cc\u0645\u0646 \u0628\u0647\u200c\u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u0631\u0634\u062a\u0647 \u062a\u0647\u06cc \u0645\u0639\u0645\u0648\u0644\u06cc \u062f\u0631 \u0646\u0638\u0631 \u06af\u0631\u0641\u062a.<\/p>\n<p>  \u0627\u0646\u062f\u0627\u0632\u0647 \u06a9\u0644 \u0631\u0627 \u0628\u0631\u06af\u0631\u062f\u0627\u0646\u06cc\u062f<\/p>\n<p>return totalSize;<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u062a\u0639\u062f\u0627\u062f \u0628\u0627\u06cc\u062a \u0647\u0627\u06cc \u067e\u0631\u062f\u0627\u0632\u0634 \u0634\u062f\u0647 \u0631\u0627 \u0628\u0631\u06af\u0631\u062f\u0627\u0646\u06cc\u062f (totalSize).\u0627\u06cc\u0646 \u0628\u0647 libcurl \u0633\u06cc\u06af\u0646\u0627\u0644 \u0645\u06cc \u062f\u0647\u062f \u06a9\u0647 \u062a\u06a9\u0647 \u062f\u0627\u062f\u0647 \u0628\u0627 \u0645\u0648\u0641\u0642\u06cc\u062a \u0645\u062f\u06cc\u0631\u06cc\u062a \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<p>  \u0686\u0647 \u0632\u0645\u0627\u0646\u06cc \u0628\u0627\u06cc\u062f C \u0631\u0627 \u0628\u0631\u0627\u06cc API \u0647\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0631\u062f<\/p>\n<p>\u0627\u0632 C \u0628\u0631\u0627\u06cc \u0645\u0635\u0631\u0641 API \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647:<\/p>\n<p>\u0645\u0633\u0627\u0626\u0644 \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u0639\u0645\u0644\u06a9\u0631\u062f: C \u0628\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u062d\u0633\u0627\u0633 \u0628\u0647 \u0633\u0631\u0639\u062a \u0627\u06cc\u062f\u0647 \u0622\u0644 \u0627\u0633\u062a.<br \/>\n\u06cc\u06a9\u067e\u0627\u0631\u0686\u0647 \u0633\u0627\u0632\u06cc \u0633\u06cc\u0633\u062a\u0645: \u0634\u0645\u0627 \u0628\u0627\u06cc\u062f \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0647\u0627\u06cc \u0634\u0628\u06a9\u0647 \u0631\u0627 \u0628\u0627 \u0639\u0645\u0644\u06cc\u0627\u062a \u0633\u062e\u062a \u0627\u0641\u0632\u0627\u0631\u06cc (\u0645\u062b\u0644\u0627\u064b \u0648\u0627\u06a9\u0634\u06cc \u062f\u0627\u062f\u0647 \u0647\u0627 \u0628\u0631\u0627\u06cc \u06cc\u06a9 \u0633\u06cc\u0633\u062a\u0645 PoS) \u062a\u0631\u06a9\u06cc\u0628 \u06a9\u0646\u06cc\u062f.<br \/>\n\u0633\u06cc\u0633\u062a\u0645 \u0647\u0627\u06cc \u062c\u0627\u0633\u0627\u0632\u06cc \u0634\u062f\u0647: \u062f\u0633\u062a\u06af\u0627\u0647 \u0647\u0627\u06cc \u0645\u062d\u062f\u0648\u062f \u0628\u0647 \u0645\u0646\u0627\u0628\u0639 \u0627\u0632 \u06a9\u0627\u0631\u0627\u06cc\u06cc C \u0628\u0647\u0631\u0647 \u0645\u06cc \u0628\u0631\u0646\u062f.<\/p>\n<p>\u06a9\u0646\u062c\u06a9\u0627\u0648\u06cc \u0648 \u0627\u06a9\u062a\u0634\u0627\u0641: \u06af\u0627\u0647\u06cc \u0627\u0648\u0642\u0627\u062a\u060c \u0634\u0645\u0627 \u0635\u0631\u0641\u0627\u064b \u0628\u0647 \u0627\u06cc\u0646 \u062f\u0644\u06cc\u0644 \u0627\u0632 C \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0627\u0632 \u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633\u06cc \u0644\u0630\u062a \u0645\u06cc \u0628\u0631\u06cc\u062f \u0648 \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u062e\u0648\u062f \u0631\u0627 \u0628\u0627 \u06a9\u0627\u0648\u0634 \u062f\u0631 \u06cc\u06a9 \u0632\u0628\u0627\u0646 \u0633\u0637\u062d \u067e\u0627\u06cc\u06cc\u0646 \u062a\u0631 \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u0627\u063a\u0644\u0628 \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631\u0647\u0627\u06cc \u0633\u0637\u062d \u0628\u0627\u0644\u0627\u062a\u0631 \u0631\u0632\u0631\u0648 \u0645\u06cc \u0634\u0648\u062f\u060c \u0628\u0647 \u0686\u0627\u0644\u0634 \u0628\u06a9\u0634\u06cc\u062f. \u0627\u06cc\u0646 \u06cc\u06a9 \u0631\u0627\u0647 \u0639\u0627\u0644\u06cc \u0628\u0631\u0627\u06cc \u0639\u0645\u06cc\u0642\u200c\u062a\u0631 \u06a9\u0631\u062f\u0646 \u062f\u0631\u06a9 \u0634\u0645\u0627 \u0627\u0632 \u0646\u062d\u0648\u0647 \u0639\u0645\u0644\u06a9\u0631\u062f \u0647\u0645\u0647 \u0686\u06cc\u0632 \u062f\u0631 \u0632\u06cc\u0631 \u06a9\u0627\u067e\u0648\u062a \u0627\u0633\u062a!<\/p>\n<p>  \u0646\u062a\u06cc\u062c\u0647 \u06af\u06cc\u0631\u06cc<\/p>\n<p>\u0645\u0635\u0631\u0641 API\u0647\u0627 \u062f\u0631 C \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u062f\u0631 \u062f\u0646\u06cc\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633\u06cc \u0633\u0637\u062d \u0628\u0627\u0644\u0627 \u0627\u0645\u0631\u0648\u0632\u06cc \u063a\u06cc\u0631 \u0645\u062a\u0639\u0627\u0631\u0641 \u0628\u0647 \u0646\u0638\u0631 \u0628\u0631\u0633\u062f\u060c \u0627\u0645\u0627 \u0627\u0628\u0632\u0627\u0631 \u0642\u062f\u0631\u062a\u0645\u0646\u062f\u06cc \u0628\u0631\u0627\u06cc \u0633\u0646\u0627\u0631\u06cc\u0648\u0647\u0627\u06cc\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u0639\u0645\u0644\u06a9\u0631\u062f\u060c \u06a9\u0646\u062a\u0631\u0644 \u0648 \u0627\u062f\u063a\u0627\u0645 \u0628\u0627 \u0639\u0645\u0644\u06cc\u0627\u062a \u0633\u0637\u062d \u0633\u06cc\u0633\u062a\u0645 \u062f\u0627\u0631\u0646\u062f. \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647\u200c\u0647\u0627\u06cc\u06cc \u0645\u0627\u0646\u0646\u062f libcurl\u060c \u062a\u0648\u0633\u0639\u0647\u200c\u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0646\u062f \u0628\u0647 \u0631\u0627\u062d\u062a\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u200c\u0647\u0627\u06cc HTTP \u0631\u0627 \u062f\u0631 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc C \u0627\u062f\u063a\u0627\u0645 \u06a9\u0646\u0646\u062f \u0648 \u0634\u06a9\u0627\u0641 \u0628\u06cc\u0646 API\u0647\u0627\u06cc \u0645\u062f\u0631\u0646 \u0648 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0646\u0648\u06cc\u0633\u06cc \u0633\u0646\u062a\u06cc \u062f\u0631 \u0633\u0637\u062d \u0633\u06cc\u0633\u062a\u0645 \u0631\u0627 \u067e\u0631 \u06a9\u0646\u0646\u062f.<\/p>\n<p>\u0628\u0627 \u0627\u06cc\u0646 \u062f\u0627\u0646\u0634\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc C \u0628\u0633\u0627\u0632\u06cc\u062f \u06a9\u0647 \u0628\u0647 \u0637\u0648\u0631 \u06cc\u06a9\u067e\u0627\u0631\u0686\u0647 \u0628\u0627 API\u0647\u0627 \u062a\u0639\u0627\u0645\u0644 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u0646\u062f \u0648 \u062b\u0627\u0628\u062a \u06a9\u0646\u0646\u062f \u06a9\u0647 C \u062d\u062a\u06cc \u062f\u0631 \u06af\u0631\u062f\u0634\u200c\u0647\u0627\u06cc \u06a9\u0627\u0631\u06cc \u062a\u0648\u0633\u0639\u0647 \u0645\u062f\u0631\u0646 \u0646\u06cc\u0632 \u0645\u0631\u062a\u0628\u0637 \u0627\u0633\u062a.<\/p>\n<div data-article-id=\"2112638\" id=\"article-body\">\n<p>\u0627\u0645\u0631\u0648\u0632\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 API \u0647\u0627\u06cc \u0648\u0628 \u06cc\u06a9 \u0631\u0648\u0634 \u0631\u0627\u06cc\u062c \u0628\u0631\u0627\u06cc \u062a\u0628\u0627\u062f\u0644 \u062f\u0627\u062f\u0647 \u0628\u06cc\u0646 \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627 \u0627\u0633\u062a. \u0622\u0645\u0648\u0632\u0634\u200c\u0647\u0627\u06cc \u0645\u0635\u0631\u0641 API \u062f\u0631 \u0632\u0628\u0627\u0646\u200c\u0647\u0627\u06cc\u06cc \u0645\u0627\u0646\u0646\u062f \u062c\u0627\u0648\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a\u060c \u067e\u0627\u06cc\u062a\u0648\u0646 \u06cc\u0627 PHP \u0641\u0631\u0627\u0648\u0627\u0646 \u0627\u0633\u062a\u060c \u0627\u0645\u0627 C &#8211; \u0627\u063a\u0644\u0628 \u0628\u0627 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0646\u0648\u06cc\u0633\u06cc \u062f\u0631 \u0633\u0637\u062d \u0633\u06cc\u0633\u062a\u0645 \u0645\u0631\u062a\u0628\u0637 \u0627\u0633\u062a &#8211; \u0628\u0647 \u0646\u062f\u0631\u062a \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u0645\u0646\u0638\u0648\u0631 \u062f\u0631 \u0646\u0638\u0631 \u06af\u0631\u0641\u062a\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f. \u0628\u0627 \u0627\u06cc\u0646 \u062d\u0627\u0644\u060c C \u06a9\u0627\u0645\u0644\u0627\u064b \u0642\u0627\u062f\u0631 \u0628\u0647 \u0631\u0633\u06cc\u062f\u06af\u06cc \u0628\u0647 \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u200c\u0647\u0627\u06cc API \u0627\u0633\u062a\u060c \u0648 \u0622\u0646 \u0631\u0627 \u0628\u0647 \u06af\u0632\u06cc\u0646\u0647\u200c\u0627\u06cc \u0645\u0646\u0627\u0633\u0628 \u0628\u0631\u0627\u06cc \u0633\u0646\u0627\u0631\u06cc\u0648\u0647\u0627\u06cc\u06cc \u0645\u0627\u0646\u0646\u062f \u0633\u06cc\u0633\u062a\u0645\u200c\u0647\u0627\u06cc Point of Sale (PoS)\u060c \u062f\u0633\u062a\u06af\u0627\u0647\u200c\u0647\u0627\u06cc IoT \u06cc\u0627 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc \u062a\u0639\u0628\u06cc\u0647\u200c\u0634\u062f\u0647 \u062a\u0628\u062f\u06cc\u0644 \u0645\u06cc\u200c\u06a9\u0646\u062f\u060c \u062c\u0627\u06cc\u06cc \u06a9\u0647 C \u0642\u0628\u0644\u0627\u064b \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631\u0627\u06cc\u06cc \u0648 \u06a9\u0646\u062a\u0631\u0644 \u0633\u0637\u062d \u067e\u0627\u06cc\u06cc\u0646 \u0622\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f.<\/p>\n<p>\u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u0628\u0647 \u0628\u0631\u0631\u0633\u06cc \u0646\u062d\u0648\u0647 \u0645\u0635\u0631\u0641 API\u0647\u0627 \u062f\u0631 C \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 libcurl \u0645\u06cc \u067e\u0631\u062f\u0627\u0632\u062f. \u062f\u0631 \u067e\u0627\u06cc\u0627\u0646\u060c \u0645\u062a\u0648\u062c\u0647 \u062e\u0648\u0627\u0647\u06cc\u062f \u0634\u062f \u06a9\u0647 \u0686\u06af\u0648\u0646\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646 \u062f\u0627\u062f\u0647 \u0647\u0627 \u0631\u0627 \u0627\u0632 API \u0647\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 C \u0648\u0627\u06a9\u0634\u06cc \u0648 \u067e\u0631\u062f\u0627\u0632\u0634 \u06a9\u0631\u062f\u060c \u0648 \u0686\u0631\u0627 \u0627\u06cc\u0646 \u0631\u0648\u06cc\u06a9\u0631\u062f \u062d\u062a\u06cc \u062f\u0631 \u062a\u0648\u0633\u0639\u0647 \u0645\u062f\u0631\u0646 \u0645\u0631\u062a\u0628\u0637 \u0627\u0633\u062a.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_84 counter-hierarchy ez-toc-counter-rtl ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/nabfollower.com\/blog\/consuming-apis-in-c-a-practical-guide-for-modern-developers-465f\/#%DA%86%D8%B1%D8%A7_%D8%A7%D8%B2_C_%D8%A8%D8%B1%D8%A7%DB%8C_%D9%85%D8%B5%D8%B1%D9%81_API_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%DA%A9%D9%86%DB%8C%D9%85%D8%9F\" >\u0686\u0631\u0627 \u0627\u0632 C \u0628\u0631\u0627\u06cc \u0645\u0635\u0631\u0641 API \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645\u061f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/nabfollower.com\/blog\/consuming-apis-in-c-a-practical-guide-for-modern-developers-465f\/#%D9%85%D8%B9%D8%B1%D9%81%DB%8C_libcurl_%D8%A7%D8%A8%D8%B2%D8%A7%D8%B1%DB%8C_%D8%A8%D8%B1%D8%A7%DB%8C_HTTP_%D8%AF%D8%B1_C\" >\u0645\u0639\u0631\u0641\u06cc libcurl: \u0627\u0628\u0632\u0627\u0631\u06cc \u0628\u0631\u0627\u06cc HTTP \u062f\u0631 C<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/nabfollower.com\/blog\/consuming-apis-in-c-a-practical-guide-for-modern-developers-465f\/#%D9%85%D8%B1%D8%A7%D8%AD%D9%84_%D8%A7%D9%88%D9%84%DB%8C%D9%87_%D8%A8%D8%B1%D8%A7%DB%8C_%D9%85%D8%B5%D8%B1%D9%81_API_%D8%AF%D8%B1_C\" >\u0645\u0631\u0627\u062d\u0644 \u0627\u0648\u0644\u06cc\u0647 \u0628\u0631\u0627\u06cc \u0645\u0635\u0631\u0641 API \u062f\u0631 C<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/nabfollower.com\/blog\/consuming-apis-in-c-a-practical-guide-for-modern-developers-465f\/#%D8%B1%D8%A7%D9%87_%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C_%D9%88_%D9%86%D8%B5%D8%A8\" >\u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0648 \u0646\u0635\u0628<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/nabfollower.com\/blog\/consuming-apis-in-c-a-practical-guide-for-modern-developers-465f\/#%D8%B3%D8%A7%D8%AE%D8%AA%D8%A7%D8%B1_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87_C_%D8%AE%D9%88%D8%AF_%D8%B1%D8%A7\" >\u0633\u0627\u062e\u062a\u0627\u0631 \u0628\u0631\u0646\u0627\u0645\u0647 C \u062e\u0648\u062f \u0631\u0627<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/nabfollower.com\/blog\/consuming-apis-in-c-a-practical-guide-for-modern-developers-465f\/#%D9%85%D8%B1%D8%A7%D8%AD%D9%84_%D8%A7%D8%AC%D8%B1%D8%A7\" >\u0645\u0631\u0627\u062d\u0644 \u0627\u062c\u0631\u0627<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/nabfollower.com\/blog\/consuming-apis-in-c-a-practical-guide-for-modern-developers-465f\/#%D8%AF%D8%B1%DA%A9_%D9%85%DA%A9%D8%A7%D9%86%DB%8C%D8%B3%D9%85_%D9%BE%D8%A7%D8%B3%D8%AE_%D8%A8%D9%87_%D8%AA%D9%85%D8%A7%D8%B3_%D8%AF%D8%B1_%D9%BE%D8%A7%D8%B3%D8%AE_%D9%87%D8%A7%DB%8C_HTTP_%D8%A8%D8%A7_libcurl\" >\u062f\u0631\u06a9 \u0645\u06a9\u0627\u0646\u06cc\u0633\u0645 \u067e\u0627\u0633\u062e \u0628\u0647 \u062a\u0645\u0627\u0633 \u062f\u0631 \u067e\u0627\u0633\u062e \u0647\u0627\u06cc HTTP \u0628\u0627 libcurl<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/nabfollower.com\/blog\/consuming-apis-in-c-a-practical-guide-for-modern-developers-465f\/#%DA%86%D8%B1%D8%A7_%D8%AA%D9%85%D8%A7%D8%B3_%D8%A8%D8%B1%DA%AF%D8%B4%D8%AA%DB%8C_%DA%86%D9%86%D8%AF%DB%8C%D9%86_%D8%A8%D8%A7%D8%B1_%D9%81%D8%B1%D8%A7%D8%AE%D9%88%D8%A7%D9%86%DB%8C_%D9%85%DB%8C_%D8%B4%D9%88%D8%AF%D8%9F\" >\u0686\u0631\u0627 \u062a\u0645\u0627\u0633 \u0628\u0631\u06af\u0634\u062a\u06cc \u0686\u0646\u062f\u06cc\u0646 \u0628\u0627\u0631 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0645\u06cc \u0634\u0648\u062f\u061f<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/nabfollower.com\/blog\/consuming-apis-in-c-a-practical-guide-for-modern-developers-465f\/#%D8%AA%D9%88%D8%B6%DB%8C%D8%AD_%DA%AF%D8%A7%D9%85_%D8%A8%D9%87_%DA%AF%D8%A7%D9%85_%DA%A9%D8%AF_%D9%85%D9%86%D8%A8%D8%B9_%D8%A8%D8%B1%D8%A7%DB%8C_ResponseCallback_%D8%AA%D8%A7%D8%A8%D8%B9\" >\u062a\u0648\u0636\u06cc\u062d \u06af\u0627\u0645 \u0628\u0647 \u06af\u0627\u0645 \u06a9\u062f \u0645\u0646\u0628\u0639 \u0628\u0631\u0627\u06cc ResponseCallback \u062a\u0627\u0628\u0639<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/nabfollower.com\/blog\/consuming-apis-in-c-a-practical-guide-for-modern-developers-465f\/#%D8%A7%D8%B9%D9%84%D8%A7%D9%85%DB%8C%D9%87_%D8%B9%D9%85%D9%84%DA%A9%D8%B1%D8%AF\" >\u0627\u0639\u0644\u0627\u0645\u06cc\u0647 \u0639\u0645\u0644\u06a9\u0631\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/nabfollower.com\/blog\/consuming-apis-in-c-a-practical-guide-for-modern-developers-465f\/#%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%D9%87_%DA%A9%D9%84_%D8%AF%D8%A7%D8%AF%D9%87_%D9%87%D8%A7_%D8%B1%D8%A7_%D9%85%D8%AD%D8%A7%D8%B3%D8%A8%D9%87_%DA%A9%D9%86%DB%8C%D8%AF\" >\u0627\u0646\u062f\u0627\u0632\u0647 \u06a9\u0644 \u062f\u0627\u062f\u0647 \u0647\u0627 \u0631\u0627 \u0645\u062d\u0627\u0633\u0628\u0647 \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/nabfollower.com\/blog\/consuming-apis-in-c-a-practical-guide-for-modern-developers-465f\/#%D8%AF%D8%B3%D8%AA%D8%B1%D8%B3%DB%8C_%D8%A8%D9%87_%D8%AF%D8%A7%D8%AF%D9%87_%D9%87%D8%A7%DB%8C_%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1_struct_Memory\" >\u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631 (struct Memory)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/nabfollower.com\/blog\/consuming-apis-in-c-a-practical-guide-for-modern-developers-465f\/#%D8%AA%D8%AE%D8%B5%DB%8C%D8%B5_%D9%85%D8%AC%D8%AF%D8%AF_%D8%AD%D8%A7%D9%81%D8%B8%D9%87\" >\u062a\u062e\u0635\u06cc\u0635 \u0645\u062c\u062f\u062f \u062d\u0627\u0641\u0638\u0647<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/nabfollower.com\/blog\/consuming-apis-in-c-a-practical-guide-for-modern-developers-465f\/#%D8%B1%D8%B3%DB%8C%D8%AF%DA%AF%DB%8C_%D8%A8%D9%87_%D8%AE%D8%B7%D8%A7%D9%87%D8%A7%DB%8C_%D8%AA%D8%AE%D8%B5%DB%8C%D8%B5_%D8%AD%D8%A7%D9%81%D8%B8%D9%87\" >\u0631\u0633\u06cc\u062f\u06af\u06cc \u0628\u0647 \u062e\u0637\u0627\u0647\u0627\u06cc \u062a\u062e\u0635\u06cc\u0635 \u062d\u0627\u0641\u0638\u0647<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/nabfollower.com\/blog\/consuming-apis-in-c-a-practical-guide-for-modern-developers-465f\/#%D8%A8%D8%A7%D9%81%D8%B1_%D8%B1%D8%A7_%D8%A8%D9%87_%D8%B1%D9%88%D8%B2_%DA%A9%D9%86%DB%8C%D8%AF\" >\u0628\u0627\u0641\u0631 \u0631\u0627 \u0628\u0647 \u0631\u0648\u0632 \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/nabfollower.com\/blog\/consuming-apis-in-c-a-practical-guide-for-modern-developers-465f\/#%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%D9%87_%DA%A9%D9%84_%D8%B1%D8%A7_%D8%A8%D9%87_%D8%B1%D9%88%D8%B2_%DA%A9%D9%86%DB%8C%D8%AF\" >\u0627\u0646\u062f\u0627\u0632\u0647 \u06a9\u0644 \u0631\u0627 \u0628\u0647 \u0631\u0648\u0632 \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/nabfollower.com\/blog\/consuming-apis-in-c-a-practical-guide-for-modern-developers-465f\/#%D8%AA%D9%87%DB%8C_%D8%B1%D8%B4%D8%AA%D9%87_%D9%BE%D8%A7%D8%B3%D8%AE_%D8%B1%D8%A7_%D8%AE%D8%A7%D8%AA%D9%85%D9%87_%D8%AF%D9%87%DB%8C%D8%AF\" >\u062a\u0647\u06cc \u0631\u0634\u062a\u0647 \u067e\u0627\u0633\u062e \u0631\u0627 \u062e\u0627\u062a\u0645\u0647 \u062f\u0647\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/nabfollower.com\/blog\/consuming-apis-in-c-a-practical-guide-for-modern-developers-465f\/#%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%D9%87_%DA%A9%D9%84_%D8%B1%D8%A7_%D8%A8%D8%B1%DA%AF%D8%B1%D8%AF%D8%A7%D9%86%DB%8C%D8%AF\" >\u0627\u0646\u062f\u0627\u0632\u0647 \u06a9\u0644 \u0631\u0627 \u0628\u0631\u06af\u0631\u062f\u0627\u0646\u06cc\u062f<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/nabfollower.com\/blog\/consuming-apis-in-c-a-practical-guide-for-modern-developers-465f\/#%DA%86%D9%87_%D8%B2%D9%85%D8%A7%D9%86%DB%8C_%D8%A8%D8%A7%DB%8C%D8%AF_C_%D8%B1%D8%A7_%D8%A8%D8%B1%D8%A7%DB%8C_API_%D9%87%D8%A7_%D8%A7%D9%86%D8%AA%D8%AE%D8%A7%D8%A8_%DA%A9%D8%B1%D8%AF\" >\u0686\u0647 \u0632\u0645\u0627\u0646\u06cc \u0628\u0627\u06cc\u062f C \u0631\u0627 \u0628\u0631\u0627\u06cc API \u0647\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0631\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/nabfollower.com\/blog\/consuming-apis-in-c-a-practical-guide-for-modern-developers-465f\/#%D9%86%D8%AA%DB%8C%D8%AC%D9%87_%DA%AF%DB%8C%D8%B1%DB%8C\" >\u0646\u062a\u06cc\u062c\u0647 \u06af\u06cc\u0631\u06cc<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"%DA%86%D8%B1%D8%A7_%D8%A7%D8%B2_C_%D8%A8%D8%B1%D8%A7%DB%8C_%D9%85%D8%B5%D8%B1%D9%81_API_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%DA%A9%D9%86%DB%8C%D9%85%D8%9F\"><\/span>\n<p>  \u0686\u0631\u0627 \u0627\u0632 C \u0628\u0631\u0627\u06cc \u0645\u0635\u0631\u0641 API \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645\u061f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u062f\u0631 \u062d\u0627\u0644\u06cc \u06a9\u0647 \u0632\u0628\u0627\u0646 \u0647\u0627\u06cc \u0633\u0637\u062d \u0628\u0627\u0644\u0627\u062a\u0631 \u0628\u0631 \u062a\u0648\u0633\u0639\u0647 \u0648\u0628 \u063a\u0627\u0644\u0628 \u0647\u0633\u062a\u0646\u062f\u060c C \u0647\u0646\u0648\u0632 \u06cc\u06a9 \u0627\u0646\u062a\u062e\u0627\u0628 \u0639\u0645\u0644\u06cc \u0628\u0631\u0627\u06cc \u0645\u0635\u0631\u0641 API \u062f\u0631 \u0645\u0648\u0627\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062e\u0627\u0635 \u0627\u0633\u062a:<\/p>\n<ul>\n<li>\u0639\u0645\u0644\u06a9\u0631\u062f: C \u0639\u0645\u0644\u06a9\u0631\u062f \u0628\u0627\u0644\u0627 \u0648 \u062d\u062f\u0627\u0642\u0644 \u0633\u0631\u0628\u0627\u0631 \u0631\u0627 \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u062f \u0648 \u0622\u0646 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0645\u062d\u06cc\u0637 \u0647\u0627\u06cc \u0628\u0627 \u0645\u062d\u062f\u0648\u062f\u06cc\u062a \u0645\u0646\u0627\u0628\u0639 \u0645\u0627\u0646\u0646\u062f \u062f\u0633\u062a\u06af\u0627\u0647 \u0647\u0627\u06cc IoT \u0645\u0646\u0627\u0633\u0628 \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<li>\u06a9\u0646\u062a\u0631\u0644: \u0645\u062f\u06cc\u0631\u06cc\u062a \u062d\u0627\u0641\u0638\u0647 \u0645\u0633\u062a\u0642\u06cc\u0645 \u0627\u0645\u06a9\u0627\u0646 \u0628\u0647\u06cc\u0646\u0647 \u0633\u0627\u0632\u06cc \u062f\u0642\u06cc\u0642 \u0631\u0627 \u0628\u0647 \u062e\u0635\u0648\u0635 \u0628\u0631\u0627\u06cc \u0633\u06cc\u0633\u062a\u0645 \u0647\u0627\u06cc \u062a\u0639\u0628\u06cc\u0647 \u0634\u062f\u0647 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<li>\u0642\u0627\u0628\u0644\u06cc\u062a \u0647\u0645\u06a9\u0627\u0631\u06cc: \u06a9\u0627\u0631\u0628\u0631\u062f \u06af\u0633\u062a\u0631\u062f\u0647 C \u0628\u0647 \u0627\u06cc\u0646 \u0645\u0639\u0646\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0628\u0647 \u062e\u0648\u0628\u06cc \u0628\u0627 \u0639\u0645\u0644\u06cc\u0627\u062a \u0633\u0637\u062d \u0633\u06cc\u0633\u062a\u0645\u060c \u0645\u0627\u0646\u0646\u062f \u06a9\u0646\u062a\u0631\u0644 \u0633\u062e\u062a \u0627\u0641\u0632\u0627\u0631\u060c \u062d\u0633\u06af\u0631\u0647\u0627 \u06cc\u0627 \u0633\u0627\u06cc\u0631 \u062a\u062c\u0647\u06cc\u0632\u0627\u062a \u062c\u0627\u0646\u0628\u06cc \u0627\u062f\u063a\u0627\u0645 \u0645\u06cc \u0634\u0648\u062f.<\/li>\n<li>\u0637\u0648\u0644 \u0639\u0645\u0631: \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u0633\u0627\u062e\u062a\u0647 \u0634\u062f\u0647 \u062f\u0631 C \u0627\u063a\u0644\u0628 \u0637\u0648\u0644 \u0639\u0645\u0631 \u0637\u0648\u0644\u0627\u0646\u06cc \u062f\u0627\u0631\u0646\u062f\u060c \u0628\u0647 \u0648\u06cc\u0698\u0647 \u062f\u0631 \u0635\u0646\u0627\u06cc\u0639\u06cc \u0645\u0627\u0646\u0646\u062f \u062e\u0631\u062f\u0647 \u0641\u0631\u0648\u0634\u06cc \u06cc\u0627 \u062a\u0648\u0644\u06cc\u062f.<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"%D9%85%D8%B9%D8%B1%D9%81%DB%8C_libcurl_%D8%A7%D8%A8%D8%B2%D8%A7%D8%B1%DB%8C_%D8%A8%D8%B1%D8%A7%DB%8C_HTTP_%D8%AF%D8%B1_C\"><\/span>\n<p>  \u0645\u0639\u0631\u0641\u06cc libcurl: \u0627\u0628\u0632\u0627\u0631\u06cc \u0628\u0631\u0627\u06cc HTTP \u062f\u0631 C<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0628\u0631\u0627\u06cc \u0645\u0635\u0631\u0641 API\u0647\u0627 \u062f\u0631 C\u060c libcurl \u0628\u0647\u062a\u0631\u06cc\u0646 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0627\u0633\u062a. \u0627\u06cc\u0646 \u06cc\u06a9 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0645\u0646\u0628\u0639 \u0628\u0627\u0632\u060c \u0642\u0627\u0628\u0644 \u062d\u0645\u0644 \u0648 \u062f\u0627\u0631\u0627\u06cc \u0648\u06cc\u0698\u06af\u06cc \u0647\u0627\u06cc \u063a\u0646\u06cc \u0628\u0631\u0627\u06cc \u0631\u0633\u06cc\u062f\u06af\u06cc \u0628\u0647 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0647\u0627\u06cc \u0634\u0628\u06a9\u0647 \u0627\u0632 \u0637\u0631\u06cc\u0642 HTTP\u060c HTTPS\u060c FTP \u0648 \u0645\u0648\u0627\u0631\u062f \u062f\u06cc\u06af\u0631 \u0627\u0633\u062a. \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0645\u06cc \u06a9\u0646\u062f:<\/p>\n<ul>\n<li>\u0627\u06cc\u062c\u0627\u062f GET\u060c POST \u0648 \u0633\u0627\u06cc\u0631 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0647\u0627\u06cc HTTP.<\/li>\n<li>\u0645\u062f\u06cc\u0631\u06cc\u062a \u0647\u062f\u0631\u0647\u0627 \u0648 \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a<\/li>\n<li>\u067e\u0631\u062f\u0627\u0632\u0634 \u067e\u0627\u0633\u062e \u0647\u0627 \u0628\u0647 \u0637\u0648\u0631 \u0645\u0648\u062b\u0631<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"%D9%85%D8%B1%D8%A7%D8%AD%D9%84_%D8%A7%D9%88%D9%84%DB%8C%D9%87_%D8%A8%D8%B1%D8%A7%DB%8C_%D9%85%D8%B5%D8%B1%D9%81_API_%D8%AF%D8%B1_C\"><\/span>\n<p>  \u0645\u0631\u0627\u062d\u0644 \u0627\u0648\u0644\u06cc\u0647 \u0628\u0631\u0627\u06cc \u0645\u0635\u0631\u0641 API \u062f\u0631 C<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0628\u06cc\u0627\u06cc\u06cc\u062f \u0631\u0648\u0646\u062f \u0645\u0635\u0631\u0641 \u06cc\u06a9 API \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 C \u0631\u0627 \u0637\u06cc \u06a9\u0646\u06cc\u0645\u060c \u0628\u0627 \u062a\u0645\u0631\u06a9\u0632 \u0628\u0631 \u06cc\u06a9 \u0645\u062b\u0627\u0644 \u0648\u0627\u0642\u0639\u06cc \u0627\u0632 \u0648\u0627\u06a9\u0634\u06cc \u062f\u0627\u062f\u0647\u200c\u0647\u0627\u06cc JSON.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D8%B1%D8%A7%D9%87_%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C_%D9%88_%D9%86%D8%B5%D8%A8\"><\/span>\n<p>  \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0648 \u0646\u0635\u0628<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 libcurl \u0628\u0627\u06cc\u062f \u0622\u0646 \u0631\u0627 \u0631\u0648\u06cc \u0633\u06cc\u0633\u062a\u0645 \u062e\u0648\u062f \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f. \u0628\u0631\u0627\u06cc \u0627\u06a9\u062b\u0631 \u062a\u0648\u0632\u06cc\u0639 \u0647\u0627\u06cc \u0644\u06cc\u0646\u0648\u06a9\u0633\u060c \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0631\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646 \u0628\u0627 \u0645\u0648\u0627\u0631\u062f \u0632\u06cc\u0631 \u0627\u0646\u062c\u0627\u0645 \u062f\u0627\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"nb\">sudo <\/span>apt-get <span class=\"nb\">install <\/span>libcurl4-openssl-dev\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062f\u0631 \u0648\u06cc\u0646\u062f\u0648\u0632\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0627\u06cc\u0646\u0631\u06cc \u0647\u0627\u06cc \u0627\u0632 \u067e\u06cc\u0634 \u06a9\u0627\u0645\u067e\u0627\u06cc\u0644 \u0634\u062f\u0647 \u0631\u0627 \u0627\u0632 \u0648\u0628 \u0633\u0627\u06cc\u062a libcurl \u062f\u0627\u0646\u0644\u0648\u062f \u06a9\u0646\u06cc\u062f: https:\/\/curl.se\/download.html<\/p>\n<p>\u062f\u0631 macOS \u0627\u06af\u0631 \u0627\u0632 Homebrew \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u062f\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0622\u0646 \u0631\u0627 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>brew <span class=\"nb\">install <\/span>curl\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"%D8%B3%D8%A7%D8%AE%D8%AA%D8%A7%D8%B1_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87_C_%D8%AE%D9%88%D8%AF_%D8%B1%D8%A7\"><\/span>\n<p>  \u0633\u0627\u062e\u062a\u0627\u0631 \u0628\u0631\u0646\u0627\u0645\u0647 C \u062e\u0648\u062f \u0631\u0627<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 \u0633\u0627\u062f\u0647 C \u0628\u0631\u0627\u06cc \u0648\u0627\u06a9\u0634\u06cc \u062f\u0627\u062f\u0647 \u0647\u0627 \u0627\u0632 \u06cc\u06a9 API \u0634\u0627\u0645\u0644 \u0627\u062c\u0632\u0627\u06cc \u0632\u06cc\u0631 \u0627\u0633\u062a:<\/p>\n<ul>\n<li>\u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc libcurl<\/li>\n<li>\u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a API (URL\u060c \u0631\u0648\u0634 HTTP\u060c \u0647\u062f\u0631\u0647\u0627 \u0648 \u063a\u06cc\u0631\u0647).<\/li>\n<li>\u062f\u0631\u06cc\u0627\u0641\u062a \u0648 \u0630\u062e\u06cc\u0631\u0647 \u067e\u0627\u0633\u062e.<\/li>\n<li>\u067e\u0627\u06a9\u0633\u0627\u0632\u06cc \u0645\u0646\u0627\u0628\u0639<\/li>\n<\/ul>\n<p>\u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u06cc\u06a9 \u0646\u0645\u0648\u0646\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u0628\u0631\u0627\u06cc \u0648\u0627\u06a9\u0634\u06cc \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc JSON \u0627\u0632 \u06cc\u06a9 API \u0639\u0645\u0648\u0645\u06cc \u0622\u0648\u0631\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight c\"><code><span class=\"cp\">#include<\/span> <span class=\"cpf\"><stdio.h\/><\/span><span class=\"cp\">\n#include<\/span> <span class=\"cpf\"><stdlib.h\/><\/span><span class=\"cp\">\n#include<\/span> <span class=\"cpf\"><string.h\/><\/span><span class=\"cp\">\n#include<\/span> <span class=\"cpf\"><curl\/><\/span><span class=\"cp\">\n<\/span>\n<span class=\"c1\">\/\/ Struct to hold response data<\/span>\n<span class=\"k\">struct<\/span> <span class=\"n\">Memory<\/span> <span class=\"p\">{<\/span>\n    <span class=\"kt\">char<\/span> <span class=\"o\">*<\/span><span class=\"n\">response<\/span><span class=\"p\">;<\/span>\n    <span class=\"kt\">size_t<\/span> <span class=\"n\">size<\/span><span class=\"p\">;<\/span>\n<span class=\"p\">};<\/span>\n\n<span class=\"c1\">\/\/ Callback function to handle the data received from the API<\/span>\n<span class=\"k\">static<\/span> <span class=\"kt\">size_t<\/span> <span class=\"nf\">ResponseCallback<\/span><span class=\"p\">(<\/span><span class=\"kt\">void<\/span> <span class=\"o\">*<\/span><span class=\"n\">contents<\/span><span class=\"p\">,<\/span> <span class=\"kt\">size_t<\/span> <span class=\"n\">size<\/span><span class=\"p\">,<\/span> <span class=\"kt\">size_t<\/span> <span class=\"n\">nmemb<\/span><span class=\"p\">,<\/span> <span class=\"kt\">void<\/span> <span class=\"o\">*<\/span><span class=\"n\">userp<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"kt\">size_t<\/span> <span class=\"n\">totalSize<\/span> <span class=\"o\">=<\/span> <span class=\"n\">size<\/span> <span class=\"o\">*<\/span> <span class=\"n\">nmemb<\/span><span class=\"p\">;<\/span>\n    <span class=\"k\">struct<\/span> <span class=\"n\">Memory<\/span> <span class=\"o\">*<\/span><span class=\"n\">mem<\/span> <span class=\"o\">=<\/span> <span class=\"p\">(<\/span><span class=\"k\">struct<\/span> <span class=\"n\">Memory<\/span> <span class=\"o\">*<\/span><span class=\"p\">)<\/span><span class=\"n\">userp<\/span><span class=\"p\">;<\/span>\n\n    <span class=\"n\">printf<\/span><span class=\"p\">(<\/span><span class=\"s\">\". %zu %zu<\/span><span class=\"se\">\\n<\/span><span class=\"s\">\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">size<\/span><span class=\"p\">,<\/span> <span class=\"n\">nmemb<\/span><span class=\"p\">);<\/span>\n    <span class=\"kt\">char<\/span> <span class=\"o\">*<\/span><span class=\"n\">ptr<\/span> <span class=\"o\">=<\/span> <span class=\"n\">realloc<\/span><span class=\"p\">(<\/span><span class=\"n\">mem<\/span><span class=\"o\">-&gt;<\/span><span class=\"n\">response<\/span><span class=\"p\">,<\/span> <span class=\"n\">mem<\/span><span class=\"o\">-&gt;<\/span><span class=\"n\">size<\/span> <span class=\"o\">+<\/span> <span class=\"n\">totalSize<\/span> <span class=\"o\">+<\/span> <span class=\"mi\">1<\/span><span class=\"p\">);<\/span>\n    <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"n\">ptr<\/span> <span class=\"o\">==<\/span> <span class=\"nb\">NULL<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n        <span class=\"n\">printf<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Not enough memory to allocate buffer.<\/span><span class=\"se\">\\n<\/span><span class=\"s\">\"<\/span><span class=\"p\">);<\/span>\n        <span class=\"k\">return<\/span> <span class=\"mi\">0<\/span><span class=\"p\">;<\/span>\n    <span class=\"p\">}<\/span>\n\n    <span class=\"n\">mem<\/span><span class=\"o\">-&gt;<\/span><span class=\"n\">response<\/span> <span class=\"o\">=<\/span> <span class=\"n\">ptr<\/span><span class=\"p\">;<\/span>\n    <span class=\"n\">memcpy<\/span><span class=\"p\">(<\/span><span class=\"o\">&amp;<\/span><span class=\"p\">(<\/span><span class=\"n\">mem<\/span><span class=\"o\">-&gt;<\/span><span class=\"n\">response<\/span><span class=\"p\">[<\/span><span class=\"n\">mem<\/span><span class=\"o\">-&gt;<\/span><span class=\"n\">size<\/span><span class=\"p\">]),<\/span> <span class=\"n\">contents<\/span><span class=\"p\">,<\/span> <span class=\"n\">totalSize<\/span><span class=\"p\">);<\/span>\n    <span class=\"n\">mem<\/span><span class=\"o\">-&gt;<\/span><span class=\"n\">size<\/span> <span class=\"o\">+=<\/span> <span class=\"n\">totalSize<\/span><span class=\"p\">;<\/span>\n    <span class=\"n\">mem<\/span><span class=\"o\">-&gt;<\/span><span class=\"n\">response<\/span><span class=\"p\">[<\/span><span class=\"n\">mem<\/span><span class=\"o\">-&gt;<\/span><span class=\"n\">size<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"sc\">'\\0'<\/span><span class=\"p\">;<\/span>\n\n    <span class=\"k\">return<\/span> <span class=\"n\">totalSize<\/span><span class=\"p\">;<\/span>\n<span class=\"p\">}<\/span>\n\n<span class=\"kt\">int<\/span> <span class=\"nf\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n    <span class=\"n\">CURL<\/span> <span class=\"o\">*<\/span><span class=\"n\">curl<\/span><span class=\"p\">;<\/span>\n    <span class=\"n\">CURLcode<\/span> <span class=\"n\">res<\/span><span class=\"p\">;<\/span>\n    <span class=\"k\">struct<\/span> <span class=\"n\">Memory<\/span> <span class=\"n\">chunk<\/span><span class=\"p\">;<\/span>\n\n    <span class=\"n\">chunk<\/span><span class=\"p\">.<\/span><span class=\"n\">response<\/span> <span class=\"o\">=<\/span> <span class=\"n\">malloc<\/span><span class=\"p\">(<\/span><span class=\"mi\">1<\/span><span class=\"p\">);<\/span>  <span class=\"c1\">\/\/ Initialize memory<\/span>\n    <span class=\"n\">chunk<\/span><span class=\"p\">.<\/span><span class=\"n\">size<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">0<\/span><span class=\"p\">;<\/span>             <span class=\"c1\">\/\/ No data yet<\/span>\n\n    <span class=\"n\">curl_global_init<\/span><span class=\"p\">(<\/span><span class=\"n\">CURL_GLOBAL_DEFAULT<\/span><span class=\"p\">);<\/span>\n    <span class=\"n\">curl<\/span> <span class=\"o\">=<\/span> <span class=\"n\">curl_easy_init<\/span><span class=\"p\">();<\/span>\n\n    <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"n\">curl<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n        <span class=\"c1\">\/\/ Set URL of the API endpoint<\/span>\n        <span class=\"kt\">char<\/span> <span class=\"n\">access_token<\/span><span class=\"p\">[]<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"your-access-token\"<\/span><span class=\"p\">;<\/span>\n        <span class=\"kt\">char<\/span> <span class=\"n\">slug<\/span><span class=\"p\">[]<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"home\"<\/span><span class=\"p\">;<\/span>\n        <span class=\"kt\">char<\/span> <span class=\"n\">version<\/span><span class=\"p\">[]<\/span><span class=\"o\">=<\/span> <span class=\"s\">\"draft\"<\/span><span class=\"p\">;<\/span>\n        <span class=\"kt\">char<\/span> <span class=\"n\">url<\/span><span class=\"p\">[<\/span><span class=\"mi\">256<\/span><span class=\"p\">];<\/span>\n        <span class=\"n\">snprintf<\/span><span class=\"p\">(<\/span><span class=\"n\">url<\/span><span class=\"p\">,<\/span> <span class=\"k\">sizeof<\/span><span class=\"p\">(<\/span><span class=\"n\">url<\/span><span class=\"p\">),<\/span> <span class=\"s\">\"https:\/\/api.storyblok.com\/v2\/cdn\/stories\/%s?version=%s&amp;token=%s\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">slug<\/span><span class=\"p\">,<\/span> <span class=\"n\">version<\/span><span class=\"p\">,<\/span> <span class=\"n\">access_token<\/span><span class=\"p\">);<\/span>\n\n        <span class=\"c1\">\/\/ Print the URL<\/span>\n        <span class=\"n\">printf<\/span><span class=\"p\">(<\/span><span class=\"s\">\"URL: %s<\/span><span class=\"se\">\\n<\/span><span class=\"s\">\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">url<\/span><span class=\"p\">);<\/span>\n\n        <span class=\"c1\">\/\/ initializing libcurl<\/span>\n\n        <span class=\"c1\">\/\/ setting the URL<\/span>\n        <span class=\"n\">curl_easy_setopt<\/span><span class=\"p\">(<\/span><span class=\"n\">curl<\/span><span class=\"p\">,<\/span> <span class=\"n\">CURLOPT_URL<\/span><span class=\"p\">,<\/span> <span class=\"n\">url<\/span> <span class=\"p\">);<\/span>\n\n        <span class=\"c1\">\/\/ Follow redirect<\/span>\n        <span class=\"n\">curl_easy_setopt<\/span><span class=\"p\">(<\/span><span class=\"n\">curl<\/span><span class=\"p\">,<\/span> <span class=\"n\">CURLOPT_FOLLOWLOCATION<\/span><span class=\"p\">,<\/span> <span class=\"mi\">1L<\/span><span class=\"p\">);<\/span>\n\n        <span class=\"c1\">\/\/ Set callback function to handle response data<\/span>\n        <span class=\"n\">curl_easy_setopt<\/span><span class=\"p\">(<\/span><span class=\"n\">curl<\/span><span class=\"p\">,<\/span> <span class=\"n\">CURLOPT_WRITEFUNCTION<\/span><span class=\"p\">,<\/span> <span class=\"n\">ResponseCallback<\/span><span class=\"p\">);<\/span>\n\n        <span class=\"c1\">\/\/ Pass the Memory struct to the callback function<\/span>\n        <span class=\"n\">curl_easy_setopt<\/span><span class=\"p\">(<\/span><span class=\"n\">curl<\/span><span class=\"p\">,<\/span> <span class=\"n\">CURLOPT_WRITEDATA<\/span><span class=\"p\">,<\/span> <span class=\"p\">(<\/span><span class=\"kt\">void<\/span> <span class=\"o\">*<\/span><span class=\"p\">)<\/span><span class=\"o\">&amp;<\/span><span class=\"n\">chunk<\/span><span class=\"p\">);<\/span>\n\n        <span class=\"c1\">\/\/ Perform the HTTP GET request<\/span>\n        <span class=\"n\">res<\/span> <span class=\"o\">=<\/span> <span class=\"n\">curl_easy_perform<\/span><span class=\"p\">(<\/span><span class=\"n\">curl<\/span><span class=\"p\">);<\/span>\n\n        <span class=\"c1\">\/\/ Check for errors<\/span>\n        <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"n\">res<\/span> <span class=\"o\">!=<\/span> <span class=\"n\">CURLE_OK<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n            <span class=\"n\">fprintf<\/span><span class=\"p\">(<\/span><span class=\"n\">stderr<\/span><span class=\"p\">,<\/span> <span class=\"s\">\"curl_easy_perform() failed: %s<\/span><span class=\"se\">\\n<\/span><span class=\"s\">\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">curl_easy_strerror<\/span><span class=\"p\">(<\/span><span class=\"n\">res<\/span><span class=\"p\">));<\/span>\n        <span class=\"p\">}<\/span> <span class=\"k\">else<\/span> <span class=\"p\">{<\/span>\n            <span class=\"n\">printf<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Response data size: %zu<\/span><span class=\"se\">\\n<\/span><span class=\"s\">\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">chunk<\/span><span class=\"p\">.<\/span><span class=\"n\">size<\/span><span class=\"p\">);<\/span>\n            <span class=\"c1\">\/\/printf(\"Response data: \\n%s\\n\", chunk.response);<\/span>\n        <span class=\"p\">}<\/span>\n\n        <span class=\"c1\">\/\/ Cleanup<\/span>\n        <span class=\"n\">curl_easy_cleanup<\/span><span class=\"p\">(<\/span><span class=\"n\">curl<\/span><span class=\"p\">);<\/span>\n    <span class=\"p\">}<\/span>\n\n    <span class=\"c1\">\/\/ Free allocated memory<\/span>\n    <span class=\"n\">free<\/span><span class=\"p\">(<\/span><span class=\"n\">chunk<\/span><span class=\"p\">.<\/span><span class=\"n\">response<\/span><span class=\"p\">);<\/span>\n\n    <span class=\"n\">curl_global_cleanup<\/span><span class=\"p\">();<\/span>\n    <span class=\"k\">return<\/span> <span class=\"mi\">0<\/span><span class=\"p\">;<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"%D9%85%D8%B1%D8%A7%D8%AD%D9%84_%D8%A7%D8%AC%D8%B1%D8%A7\"><\/span>\n<p>  \u0645\u0631\u0627\u062d\u0644 \u0627\u062c\u0631\u0627<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u06a9\u062f \u0631\u0627 \u062f\u0631 \u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u062f\u060c \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644\u060c <code>get.c<\/code>.<br \/>\u0628\u0627 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0622\u0646 \u0631\u0627 \u06a9\u0627\u0645\u067e\u0627\u06cc\u0644 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>gcc get.c <span class=\"nt\">-o<\/span> get <span class=\"nt\">-lcurl<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u0631\u0646\u0627\u0645\u0647 \u06a9\u0627\u0645\u067e\u0627\u06cc\u0644 \u0634\u062f\u0647 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>.\/get\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"%D8%AF%D8%B1%DA%A9_%D9%85%DA%A9%D8%A7%D9%86%DB%8C%D8%B3%D9%85_%D9%BE%D8%A7%D8%B3%D8%AE_%D8%A8%D9%87_%D8%AA%D9%85%D8%A7%D8%B3_%D8%AF%D8%B1_%D9%BE%D8%A7%D8%B3%D8%AE_%D9%87%D8%A7%DB%8C_HTTP_%D8%A8%D8%A7_libcurl\"><\/span>\n<p>  \u062f\u0631\u06a9 \u0645\u06a9\u0627\u0646\u06cc\u0633\u0645 \u067e\u0627\u0633\u062e \u0628\u0647 \u062a\u0645\u0627\u0633 \u062f\u0631 \u067e\u0627\u0633\u062e \u0647\u0627\u06cc HTTP \u0628\u0627 libcurl<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0647\u0646\u06af\u0627\u0645 \u06a9\u0627\u0631 \u0628\u0627 libcurl \u0628\u0631\u0627\u06cc \u0631\u0633\u06cc\u062f\u06af\u06cc \u0628\u0647 \u067e\u0627\u0633\u062e\u200c\u0647\u0627\u06cc HTTP \u062f\u0631 C\u060c \u062f\u0631\u06a9 \u0631\u0641\u062a\u0627\u0631 \u062a\u0627\u0628\u0639 callback \u0645\u0647\u0645 \u0627\u0633\u062a. \u062a\u0627\u0628\u0639 callback \u06a9\u0647 \u0628\u0631\u0627\u06cc \u067e\u0631\u062f\u0627\u0632\u0634 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u067e\u0627\u0633\u062e \u062a\u0639\u0631\u06cc\u0641 \u0645\u06cc \u06a9\u0646\u06cc\u062f\u060c \u0645\u0627\u0646\u0646\u062f <code>ResponseCallback<\/code> \u062a\u0627\u0628\u0639\u060c \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0686\u0646\u062f\u06cc\u0646 \u0628\u0627\u0631 \u0628\u0631\u0627\u06cc \u06cc\u06a9 \u067e\u0627\u0633\u062e HTTP \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0634\u0648\u062f. \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u062f\u0644\u06cc\u0644 \u0648 \u0646\u062d\u0648\u0647 \u06a9\u0627\u0631 \u0627\u06cc\u0646 \u0627\u0633\u062a.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"%DA%86%D8%B1%D8%A7_%D8%AA%D9%85%D8%A7%D8%B3_%D8%A8%D8%B1%DA%AF%D8%B4%D8%AA%DB%8C_%DA%86%D9%86%D8%AF%DB%8C%D9%86_%D8%A8%D8%A7%D8%B1_%D9%81%D8%B1%D8%A7%D8%AE%D9%88%D8%A7%D9%86%DB%8C_%D9%85%DB%8C_%D8%B4%D9%88%D8%AF%D8%9F\"><\/span>\n<p>  \u0686\u0631\u0627 \u062a\u0645\u0627\u0633 \u0628\u0631\u06af\u0634\u062a\u06cc \u0686\u0646\u062f\u06cc\u0646 \u0628\u0627\u0631 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0645\u06cc \u0634\u0648\u062f\u061f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u0645\u06a9\u0627\u0646\u06cc\u0633\u0645 \u062a\u0645\u0627\u0633 \u062f\u0631 libcurl \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u06a9\u0627\u0631\u0622\u0645\u062f \u0648 \u0627\u0646\u0639\u0637\u0627\u0641 \u067e\u0630\u06cc\u0631 \u062f\u0627\u062f\u0647 \u0647\u0627 \u0637\u0631\u0627\u062d\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a. libcurl \u0628\u0647 \u062c\u0627\u06cc \u0645\u0646\u062a\u0638\u0631 \u0645\u0627\u0646\u062f\u0646 \u0628\u0631\u0627\u06cc \u062f\u0627\u0646\u0644\u0648\u062f \u06a9\u0644 \u067e\u0627\u0633\u062e \u0642\u0628\u0644 \u0627\u0632 \u067e\u0631\u062f\u0627\u0632\u0634\u060c \u067e\u0627\u0633\u062e \u0631\u0627 \u062f\u0631 \u062a\u06a9\u0647 \u0647\u0627\u06cc \u06a9\u0648\u0686\u06a9\u062a\u0631 \u067e\u0631\u062f\u0627\u0632\u0634 \u0645\u06cc \u06a9\u0646\u062f \u0648 \u0628\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u0647\u0631 \u062a\u06a9\u0647\u060c \u062a\u0627\u0628\u0639 \u067e\u0627\u0633\u062e \u0628\u0647 \u062a\u0645\u0627\u0633 \u0634\u0645\u0627 \u0631\u0627 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>\u0627\u06cc\u0646 \u0631\u0641\u062a\u0627\u0631 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc \u062f\u0647\u062f:<\/p>\n<ul>\n<li>\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0627\u0631\u0622\u0645\u062f \u0627\u0632 \u062d\u0627\u0641\u0638\u0647: \u0628\u0627 \u067e\u0631\u062f\u0627\u0632\u0634 \u062a\u06a9\u0647 \u0647\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u062a\u062f\u0631\u06cc\u062c\u06cc\u060c \u0627\u0632 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u062a\u062e\u0635\u06cc\u0635 \u06cc\u06a9 \u0628\u0644\u0648\u06a9 \u0628\u0632\u0631\u06af \u0627\u0632 \u062d\u0627\u0641\u0638\u0647 \u0628\u0631\u0627\u06cc \u06a9\u0644 \u067e\u0627\u0633\u062e \u0627\u062c\u062a\u0646\u0627\u0628 \u0645\u06cc \u06a9\u0646\u06cc\u062f.<\/li>\n<li>\u067e\u0631\u062f\u0627\u0632\u0634 \u062c\u0631\u06cc\u0627\u0646\u06cc: \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0647\u0631 \u0642\u0637\u0639\u0647 \u0631\u0627 \u0647\u0646\u06af\u0627\u0645 \u0631\u0633\u06cc\u062f\u0646 \u067e\u0631\u062f\u0627\u0632\u0634 \u06a9\u0646\u06cc\u062f \u06cc\u0627 \u0631\u0648\u06cc \u0622\u0646 \u0639\u0645\u0644 \u06a9\u0646\u06cc\u062f\u060c \u06a9\u0647 \u0628\u0631\u0627\u06cc \u067e\u062e\u0634 \u067e\u0627\u0633\u062e\u200c\u0647\u0627\u06cc \u0628\u0632\u0631\u06af \u06cc\u0627 \u0645\u062f\u06cc\u0631\u06cc\u062a \u062f\u0627\u062f\u0647\u200c\u0647\u0627 \u062f\u0631 \u0632\u0645\u0627\u0646 \u0648\u0627\u0642\u0639\u06cc \u0645\u0641\u06cc\u062f \u0627\u0633\u062a.<\/li>\n<\/ul>\n<p>\u0686\u06af\u0648\u0646\u0647 \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f\u061f<br \/>\u0647\u0631 \u0628\u0627\u0631 \u06a9\u0647 \u062a\u06a9\u0647\u200c\u0627\u06cc \u0627\u0632 \u062f\u0627\u062f\u0647\u200c\u0647\u0627 \u0627\u0632 \u0633\u0631\u0648\u0631 \u062f\u0631\u06cc\u0627\u0641\u062a \u0645\u06cc\u200c\u0634\u0648\u062f\u060c libcurl \u062a\u0627\u0628\u0639 \u062a\u0645\u0627\u0633 \u0634\u0645\u0627 \u0631\u0627 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0627\u0646\u062f\u0627\u0632\u0647 \u0647\u0631 \u0642\u0637\u0639\u0647 \u0628\u0647 \u0634\u0631\u0627\u06cc\u0637 \u0634\u0628\u06a9\u0647\u060c \u0627\u0646\u062f\u0627\u0632\u0647 \u0628\u0627\u0641\u0631 \u0648 \u0645\u0646\u0637\u0642 \u062f\u0627\u062e\u0644\u06cc libcurl \u0628\u0633\u062a\u06af\u06cc \u062f\u0627\u0631\u062f.<br \/>\u062a\u0645\u0627\u0633 \u0628\u0631\u06af\u0634\u062a\u06cc \u0628\u0627\u06cc\u062f \u062a\u06a9\u0647 \u0647\u0627 \u0631\u0627 \u062c\u0645\u0639 \u06a9\u0646\u062f \u0648 \u062f\u0631 \u0646\u0647\u0627\u06cc\u062a \u067e\u0627\u0633\u062e \u06a9\u0627\u0645\u0644 \u0631\u0627 \u0628\u0627\u0632\u0633\u0627\u0632\u06cc \u06a9\u0646\u062f.<\/p>\n<p>\u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u06cc\u06a9 \u062f\u0646\u0628\u0627\u0644\u0647 \u0646\u0645\u0648\u0646\u0647 \u0627\u0633\u062a:<\/p>\n<ol>\n<li>\u0633\u0631\u0648\u0631 \u0634\u0631\u0648\u0639 \u0628\u0647 \u0627\u0631\u0633\u0627\u0644 \u067e\u0627\u0633\u062e \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<li>libcurl \u0627\u0648\u0644\u06cc\u0646 \u062a\u06a9\u0647 \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u0645\u06cc \u06a9\u0646\u062f \u0648 callback \u0631\u0627 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<li>\u067e\u0627\u0633\u062e \u0628\u0647 \u062a\u0645\u0627\u0633\u060c \u062a\u06a9\u0647 \u0631\u0627 \u067e\u0631\u062f\u0627\u0632\u0634 \u06cc\u0627 \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<li>libcurl \u0642\u0637\u0639\u0647 \u0628\u0639\u062f\u06cc \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u0645\u06cc \u06a9\u0646\u062f \u0648 \u062f\u0648\u0628\u0627\u0631\u0647 \u062a\u0645\u0627\u0633 \u0631\u0627 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<li>\u0627\u06cc\u0646 \u0631\u0648\u0646\u062f \u062a\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0644 \u067e\u0627\u0633\u062e \u0627\u062f\u0627\u0645\u0647 \u0645\u06cc \u06cc\u0627\u0628\u062f.<\/li>\n<\/ol>\n<h3><span class=\"ez-toc-section\" id=\"%D8%AA%D9%88%D8%B6%DB%8C%D8%AD_%DA%AF%D8%A7%D9%85_%D8%A8%D9%87_%DA%AF%D8%A7%D9%85_%DA%A9%D8%AF_%D9%85%D9%86%D8%A8%D8%B9_%D8%A8%D8%B1%D8%A7%DB%8C_ResponseCallback_%D8%AA%D8%A7%D8%A8%D8%B9\"><\/span>\n<p>  \u062a\u0648\u0636\u06cc\u062d \u06af\u0627\u0645 \u0628\u0647 \u06af\u0627\u0645 \u06a9\u062f \u0645\u0646\u0628\u0639 \u0628\u0631\u0627\u06cc <code>ResponseCallback<\/code> \u062a\u0627\u0628\u0639<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0631\u0627 <code>ResponseCallback<\/code> \u062a\u0627\u0628\u0639\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0647\u0646\u06af\u0627\u0645 \u062f\u0631\u06cc\u0627\u0641\u062a \u062f\u0627\u062f\u0647 \u062a\u0648\u0633\u0637 libcurl \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0645\u06cc \u0634\u0648\u062f.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"%D8%A7%D8%B9%D9%84%D8%A7%D9%85%DB%8C%D9%87_%D8%B9%D9%85%D9%84%DA%A9%D8%B1%D8%AF\"><\/span>\n<p>  \u0627\u0639\u0644\u0627\u0645\u06cc\u0647 \u0639\u0645\u0644\u06a9\u0631\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight c\"><code><span class=\"k\">static<\/span> <span class=\"kt\">size_t<\/span> <span class=\"n\">ResponseCallback<\/span><span class=\"p\">(<\/span><span class=\"kt\">void<\/span> <span class=\"o\">*<\/span><span class=\"n\">contents<\/span><span class=\"p\">,<\/span> <span class=\"kt\">size_t<\/span> <span class=\"n\">size<\/span><span class=\"p\">,<\/span> <span class=\"kt\">size_t<\/span> <span class=\"n\">nmemb<\/span><span class=\"p\">,<\/span> <span class=\"kt\">void<\/span> <span class=\"o\">*<\/span><span class=\"n\">userp<\/span><span class=\"p\">)<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<ul>\n<li>\n<code>void *contents<\/code>: \u0627\u06cc\u0646 \u06cc\u06a9 \u0627\u0634\u0627\u0631\u0647 \u06af\u0631 \u0628\u0647 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u062f\u0631\u06cc\u0627\u0641\u062a \u0634\u062f\u0647 \u0627\u0632 \u0633\u0631\u0648\u0631 \u0627\u0633\u062a. libcurl \u0627\u06cc\u0646 \u0628\u0627\u0641\u0631 \u0631\u0627 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc \u06a9\u0646\u062f \u0648 \u0622\u0646 \u0631\u0627 \u0628\u0627 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc\u06cc \u06a9\u0647 \u062f\u0627\u0646\u0644\u0648\u062f \u0645\u06cc \u06a9\u0646\u062f \u067e\u0631 \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<li>\n<code>size_t size<\/code>  \u0648 <code>size_t nmemb<\/code>: \u0627\u0646\u062f\u0627\u0632\u0647 \u0647\u0631 \u0628\u0644\u0648\u06a9 \u062d\u0627\u0641\u0638\u0647 (\u0627\u0646\u062f\u0627\u0632\u0647) \u0648 \u062a\u0639\u062f\u0627\u062f \u0628\u0644\u0648\u06a9 \u0647\u0627 (nmemb) \u0631\u0627 \u0646\u0634\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f. \u0628\u0627 \u0647\u0645\u060c <code>size * nmemb<\/code> \u0627\u0646\u062f\u0627\u0632\u0647 \u06a9\u0644 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u062f\u0631\u06cc\u0627\u0641\u062a \u0634\u062f\u0647 \u062f\u0631 \u0627\u06cc\u0646 \u0642\u0637\u0639\u0647 \u0631\u0627 \u0646\u0634\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f.<\/li>\n<li>\n<code>void *userp<\/code>: \u0627\u06cc\u0646 \u06cc\u06a9 \u0627\u0634\u0627\u0631\u0647 \u06af\u0631 \u062a\u0639\u0631\u06cc\u0641 \u0634\u062f\u0647 \u062a\u0648\u0633\u0637 \u06a9\u0627\u0631\u0628\u0631 \u0627\u0633\u062a \u06a9\u0647 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0622\u0646 \u0628\u0647 \u062a\u0627\u0628\u0639 callback \u0627\u0631\u0633\u0627\u0644 \u0645\u06cc \u0634\u0648\u062f <code>curl_easy_setopt(curl, CURLOPT_WRITEDATA, ...)<\/code>. \u062f\u0631 \u0627\u06cc\u0646 \u0645\u062b\u0627\u0644\u060c \u0627\u06cc\u0646 \u06cc\u06a9 \u0627\u0634\u0627\u0631\u0647 \u06af\u0631 \u0628\u0647 \u06cc\u06a9 \u0634\u06cc struct Memory \u0627\u0633\u062a \u06a9\u0647 \u067e\u0627\u0633\u062e \u06a9\u0627\u0645\u0644 \u0631\u0627 \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<\/ul>\n<h4><span class=\"ez-toc-section\" id=\"%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%D9%87_%DA%A9%D9%84_%D8%AF%D8%A7%D8%AF%D9%87_%D9%87%D8%A7_%D8%B1%D8%A7_%D9%85%D8%AD%D8%A7%D8%B3%D8%A8%D9%87_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  \u0627\u0646\u062f\u0627\u0632\u0647 \u06a9\u0644 \u062f\u0627\u062f\u0647 \u0647\u0627 \u0631\u0627 \u0645\u062d\u0627\u0633\u0628\u0647 \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight c\"><code><span class=\"kt\">size_t<\/span> <span class=\"n\">totalSize<\/span> <span class=\"o\">=<\/span> <span class=\"n\">size<\/span> <span class=\"o\">*<\/span> <span class=\"n\">nmemb<\/span><span class=\"p\">;<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06cc\u0646 \u0627\u0646\u062f\u0627\u0632\u0647 \u06a9\u0644 \u0642\u0637\u0639\u0647 \u0641\u0639\u0644\u06cc \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u062f\u0631\u06cc\u0627\u0641\u062a\u06cc \u0631\u0627 \u0628\u0627 \u0636\u0631\u0628 \u0627\u0646\u062f\u0627\u0632\u0647 \u06cc\u06a9 \u0628\u0644\u0648\u06a9 (\u0627\u0646\u062f\u0627\u0632\u0647) \u062f\u0631 \u062a\u0639\u062f\u0627\u062f \u0628\u0644\u0648\u06a9 \u0647\u0627 (nmemb) \u0645\u062d\u0627\u0633\u0628\u0647 \u0645\u06cc \u06a9\u0646\u062f.<br \/>\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644\u060c \u0627\u06af\u0631 \u0633\u0631\u0648\u0631 8 \u0628\u0644\u0648\u06a9 256 \u0628\u0627\u06cc\u062a\u06cc \u0631\u0627 \u0627\u0631\u0633\u0627\u0644 \u06a9\u0646\u062f\u060c <code>totalSize<\/code> 8 * 256 = 2048 \u0628\u0627\u06cc\u062a \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"%D8%AF%D8%B3%D8%AA%D8%B1%D8%B3%DB%8C_%D8%A8%D9%87_%D8%AF%D8%A7%D8%AF%D9%87_%D9%87%D8%A7%DB%8C_%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1_struct_Memory\"><\/span>\n<p>  \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631 (<code>struct Memory<\/code>)<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight c\"><code><span class=\"k\">struct<\/span> <span class=\"n\">Memory<\/span> <span class=\"o\">*<\/span><span class=\"n\">mem<\/span> <span class=\"o\">=<\/span> <span class=\"p\">(<\/span><span class=\"k\">struct<\/span> <span class=\"n\">Memory<\/span> <span class=\"o\">*<\/span><span class=\"p\">)<\/span><span class=\"n\">userp<\/span><span class=\"p\">;<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0631\u0627 <code>userp<\/code> \u0627\u0634\u0627\u0631\u0647 \u06af\u0631 \u0628\u0647 a \u0641\u0631\u0633\u062a\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f <code>struct Memory *<\/code>. \u0627\u06cc\u0646 \u0633\u0627\u062e\u062a\u0627\u0631 \u0642\u0628\u0644\u0627\u064b \u062f\u0631 \u0628\u0631\u0646\u0627\u0645\u0647 \u0627\u0635\u0644\u06cc \u0627\u0631\u0633\u0627\u0644 \u0634\u062f\u0647 \u0627\u0633\u062a \u0648 \u0628\u0631\u0627\u06cc \u062c\u0645\u0639 \u0622\u0648\u0631\u06cc \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u062f\u0631\u06cc\u0627\u0641\u062a\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f.<\/p>\n<p>\u0631\u0627 <code>struct Memory<\/code> \u0628\u0647 \u0627\u06cc\u0646 \u0635\u0648\u0631\u062a \u062a\u0639\u0631\u06cc\u0641 \u0645\u06cc \u0634\u0648\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight c\"><code><span class=\"k\">struct<\/span> <span class=\"n\">Memory<\/span> <span class=\"p\">{<\/span>\n    <span class=\"kt\">char<\/span> <span class=\"o\">*<\/span><span class=\"n\">response<\/span><span class=\"p\">;<\/span>\n    <span class=\"kt\">size_t<\/span> <span class=\"n\">size<\/span><span class=\"p\">;<\/span>\n<span class=\"p\">};<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<ul>\n<li>\n<code>response<\/code>: \u0631\u0634\u062a\u0647 \u0627\u06cc \u0627\u062e\u062a\u0635\u0627\u0635 \u062f\u0627\u062f\u0647 \u0634\u062f\u0647 \u0628\u0647 \u0635\u0648\u0631\u062a \u067e\u0648\u06cc\u0627 \u06a9\u0647 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u062f\u0627\u0646\u0644\u0648\u062f \u0634\u062f\u0647 \u0631\u0627 \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<li>\n<code>size<\/code>: \u0627\u0646\u062f\u0627\u0632\u0647 \u0641\u0639\u0644\u06cc \u0631\u0634\u062a\u0647 \u067e\u0627\u0633\u062e.<\/li>\n<\/ul>\n<h4><span class=\"ez-toc-section\" id=\"%D8%AA%D8%AE%D8%B5%DB%8C%D8%B5_%D9%85%D8%AC%D8%AF%D8%AF_%D8%AD%D8%A7%D9%81%D8%B8%D9%87\"><\/span>\n<p>  \u062a\u062e\u0635\u06cc\u0635 \u0645\u062c\u062f\u062f \u062d\u0627\u0641\u0638\u0647<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight c\"><code><span class=\"kt\">char<\/span> <span class=\"o\">*<\/span><span class=\"n\">ptr<\/span> <span class=\"o\">=<\/span> <span class=\"n\">realloc<\/span><span class=\"p\">(<\/span><span class=\"n\">mem<\/span><span class=\"o\">-&gt;<\/span><span class=\"n\">response<\/span><span class=\"p\">,<\/span> <span class=\"n\">mem<\/span><span class=\"o\">-&gt;<\/span><span class=\"n\">size<\/span> <span class=\"o\">+<\/span> <span class=\"n\">totalSize<\/span> <span class=\"o\">+<\/span> <span class=\"mi\">1<\/span><span class=\"p\">);<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u0646\u062f\u0627\u0632\u0647 \u0628\u0627\u0641\u0631 \u067e\u0627\u0633\u062e \u0631\u0627 \u0628\u0631\u0627\u06cc \u0642\u0631\u0627\u0631 \u062f\u0627\u062f\u0646 \u0642\u0637\u0639\u0647 \u062f\u0627\u062f\u0647 \u062c\u062f\u06cc\u062f \u062a\u063a\u06cc\u06cc\u0631 \u0645\u06cc \u062f\u0647\u062f:<\/p>\n<ul>\n<li>\n<code>mem-&gt;size<\/code>: \u0627\u0646\u062f\u0627\u0632\u0647 \u0641\u0639\u0644\u06cc \u0628\u0627\u0641\u0631.<\/li>\n<li>\n<code>totalSize<\/code>: \u0627\u0646\u062f\u0627\u0632\u0647 \u062a\u06a9\u0647 \u062c\u062f\u06cc\u062f.<\/li>\n<li>\n<code>+1<\/code>: \u0628\u0631\u0627\u06cc \u067e\u0627\u06cc\u0627\u0646 \u062f\u0647\u0646\u062f\u0647 \u062a\u0647\u06cc (\\0) \u0641\u0627\u0635\u0644\u0647 \u0628\u06af\u0630\u0627\u0631\u06cc\u062f \u062a\u0627 \u0622\u0646 \u0631\u0627 \u0628\u0647 \u06cc\u06a9 \u0631\u0634\u062a\u0647 C \u0645\u0639\u062a\u0628\u0631 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0646\u06cc\u062f.<\/li>\n<li>\n<code>realloc<\/code>: \u0628\u0647 \u0635\u0648\u0631\u062a \u067e\u0648\u06cc\u0627 \u062d\u0627\u0641\u0638\u0647 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0628\u0627\u0641\u0631 \u067e\u0627\u0633\u062e \u062a\u062e\u0635\u06cc\u0635 \u0645\u06cc \u062f\u0647\u062f.<\/li>\n<\/ul>\n<p>\u0627\u06af\u0631 \u062a\u062e\u0635\u06cc\u0635 \u0646\u0627\u0645\u0648\u0641\u0642 \u0628\u0627\u0634\u062f\u060c <code>realloc<\/code> NULL \u0631\u0627 \u0628\u0631\u0645\u06cc \u06af\u0631\u062f\u0627\u0646\u062f \u0648 \u062d\u0627\u0641\u0638\u0647 \u0642\u062f\u06cc\u0645\u06cc \u0645\u0639\u062a\u0628\u0631 \u0628\u0627\u0642\u06cc \u0645\u06cc \u0645\u0627\u0646\u062f.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"%D8%B1%D8%B3%DB%8C%D8%AF%DA%AF%DB%8C_%D8%A8%D9%87_%D8%AE%D8%B7%D8%A7%D9%87%D8%A7%DB%8C_%D8%AA%D8%AE%D8%B5%DB%8C%D8%B5_%D8%AD%D8%A7%D9%81%D8%B8%D9%87\"><\/span>\n<p>  \u0631\u0633\u06cc\u062f\u06af\u06cc \u0628\u0647 \u062e\u0637\u0627\u0647\u0627\u06cc \u062a\u062e\u0635\u06cc\u0635 \u062d\u0627\u0641\u0638\u0647<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight c\"><code><span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"n\">ptr<\/span> <span class=\"o\">==<\/span> <span class=\"nb\">NULL<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"n\">printf<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Not enough memory to allocate buffer.<\/span><span class=\"se\">\\n<\/span><span class=\"s\">\"<\/span><span class=\"p\">);<\/span>\n    <span class=\"k\">return<\/span> <span class=\"mi\">0<\/span><span class=\"p\">;<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06af\u0631 \u062a\u062e\u0635\u06cc\u0635 \u062d\u0627\u0641\u0638\u0647 \u0646\u0627\u0645\u0648\u0641\u0642 \u0628\u0627\u0634\u062f (\u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 <code>ptr<\/code> \u0627\u0633\u062a <code>NULL<\/code>\u060c \u06cc\u06a9 \u067e\u06cc\u063a\u0627\u0645 \u062e\u0637\u0627 \u0686\u0627\u067e \u06a9\u0646\u06cc\u062f \u0648 0 \u0631\u0627 \u0628\u0631\u06af\u0631\u062f\u0627\u0646\u06cc\u062f. \u0628\u0627\u0632\u06af\u0634\u062a 0 \u0628\u0647 libcurl \u0633\u06cc\u06af\u0646\u0627\u0644 \u0645\u06cc \u062f\u0647\u062f \u062a\u0627 \u0627\u0646\u062a\u0642\u0627\u0644 \u0631\u0627 \u0644\u063a\u0648 \u06a9\u0646\u062f.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"%D8%A8%D8%A7%D9%81%D8%B1_%D8%B1%D8%A7_%D8%A8%D9%87_%D8%B1%D9%88%D8%B2_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  \u0628\u0627\u0641\u0631 \u0631\u0627 \u0628\u0647 \u0631\u0648\u0632 \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight c\"><code><span class=\"n\">mem<\/span><span class=\"o\">-&gt;<\/span><span class=\"n\">response<\/span> <span class=\"o\">=<\/span> <span class=\"n\">ptr<\/span><span class=\"p\">;<\/span>\n<span class=\"n\">memcpy<\/span><span class=\"p\">(<\/span><span class=\"o\">&amp;<\/span><span class=\"p\">(<\/span><span class=\"n\">mem<\/span><span class=\"o\">-&gt;<\/span><span class=\"n\">response<\/span><span class=\"p\">[<\/span><span class=\"n\">mem<\/span><span class=\"o\">-&gt;<\/span><span class=\"n\">size<\/span><span class=\"p\">]),<\/span> <span class=\"n\">contents<\/span><span class=\"p\">,<\/span> <span class=\"n\">totalSize<\/span><span class=\"p\">);<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<ul>\n<li>\n<code>mem-&gt;response = ptr<\/code>: \u062d\u0627\u0641\u0638\u0647 \u062a\u062e\u0635\u06cc\u0635 \u06cc\u0627\u0641\u062a\u0647 \u062c\u062f\u06cc\u062f \u0631\u0627 \u0628\u0647 \u0646\u0634\u0627\u0646\u06af\u0631 \u067e\u0627\u0633\u062e \u0628\u0627\u0632\u06af\u0631\u062f\u0627\u0646\u06cc\u062f.<\/li>\n<li>\n<code>memcpy<\/code>: \u062a\u06a9\u0647 \u062c\u062f\u06cc\u062f\u06cc \u0627\u0632 \u062f\u0627\u062f\u0647 \u0647\u0627 \u0631\u0627 \u0627\u0632 \u0645\u062d\u062a\u0648\u06cc\u0627\u062a \u062f\u0631 \u0628\u0627\u0641\u0631 \u06a9\u067e\u06cc \u06a9\u0646\u06cc\u062f:<\/p>\n<ul>\n<li>\n<code>&amp;(mem-&gt;response[mem-&gt;size])<\/code>: \u0645\u06a9\u0627\u0646\u06cc \u062f\u0631 \u0628\u0627\u0641\u0631 \u06a9\u0647 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u062c\u062f\u06cc\u062f \u0628\u0627\u06cc\u062f \u062f\u0631 \u0622\u0646 \u0627\u0636\u0627\u0641\u0647 \u0634\u0648\u0646\u062f (\u067e\u0627\u06cc\u0627\u0646 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0641\u0639\u0644\u06cc).<\/li>\n<li>\n<code>contents<\/code>: \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u062f\u0631\u06cc\u0627\u0641\u062a\u06cc \u0627\u0632 \u0633\u0631\u0648\u0631.<\/li>\n<li>\n<code>totalSize<\/code>: \u0627\u0646\u062f\u0627\u0632\u0647 \u062f\u0627\u062f\u0647 \u0628\u0631\u0627\u06cc \u06a9\u067e\u06cc \u06a9\u0631\u062f\u0646.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h4><span class=\"ez-toc-section\" id=\"%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%D9%87_%DA%A9%D9%84_%D8%B1%D8%A7_%D8%A8%D9%87_%D8%B1%D9%88%D8%B2_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  \u0627\u0646\u062f\u0627\u0632\u0647 \u06a9\u0644 \u0631\u0627 \u0628\u0647 \u0631\u0648\u0632 \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight c\"><code><span class=\"n\">mem<\/span><span class=\"o\">-&gt;<\/span><span class=\"n\">size<\/span> <span class=\"o\">+=<\/span> <span class=\"n\">totalSize<\/span><span class=\"p\">;<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u0646\u062f\u0627\u0632\u0647 \u0628\u0627\u0641\u0631 \u067e\u0627\u0633\u062e \u0631\u0627 \u0627\u0641\u0632\u0627\u06cc\u0634 \u062f\u0647\u06cc\u062f \u062a\u0627 \u0627\u0646\u062f\u0627\u0632\u0647 \u06a9\u0644 \u062c\u062f\u06cc\u062f \u067e\u0633 \u0627\u0632 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0642\u0637\u0639\u0647 \u062c\u062f\u06cc\u062f \u0645\u0646\u0639\u06a9\u0633 \u0634\u0648\u062f.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"%D8%AA%D9%87%DB%8C_%D8%B1%D8%B4%D8%AA%D9%87_%D9%BE%D8%A7%D8%B3%D8%AE_%D8%B1%D8%A7_%D8%AE%D8%A7%D8%AA%D9%85%D9%87_%D8%AF%D9%87%DB%8C%D8%AF\"><\/span>\n<p>  \u062a\u0647\u06cc \u0631\u0634\u062a\u0647 \u067e\u0627\u0633\u062e \u0631\u0627 \u062e\u0627\u062a\u0645\u0647 \u062f\u0647\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight c\"><code><span class=\"n\">mem<\/span><span class=\"o\">-&gt;<\/span><span class=\"n\">response<\/span><span class=\"p\">[<\/span><span class=\"n\">mem<\/span><span class=\"o\">-&gt;<\/span><span class=\"n\">size<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"sc\">'\\0'<\/span><span class=\"p\">;<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u06cc\u06a9 \u067e\u0627\u06cc\u0627\u0646 \u062f\u0647\u0646\u062f\u0647 \u062a\u0647\u06cc \u062f\u0631 \u0627\u0646\u062a\u0647\u0627\u06cc \u0628\u0627\u0641\u0631 \u067e\u0627\u0633\u062e \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0622\u0646 \u0631\u0627 \u0628\u0647 \u06cc\u06a9 \u0631\u0634\u062a\u0647 C \u0645\u0639\u062a\u0628\u0631 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0646\u06cc\u062f.<br \/>\u0627\u06cc\u0646 \u062a\u0636\u0645\u06cc\u0646 \u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u067e\u0627\u0633\u062e \u0631\u0627 \u0628\u0647\u200c\u0637\u0648\u0631 \u0627\u06cc\u0645\u0646 \u0628\u0647\u200c\u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u0631\u0634\u062a\u0647 \u062a\u0647\u06cc \u0645\u0639\u0645\u0648\u0644\u06cc \u062f\u0631 \u0646\u0638\u0631 \u06af\u0631\u0641\u062a.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%D9%87_%DA%A9%D9%84_%D8%B1%D8%A7_%D8%A8%D8%B1%DA%AF%D8%B1%D8%AF%D8%A7%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  \u0627\u0646\u062f\u0627\u0632\u0647 \u06a9\u0644 \u0631\u0627 \u0628\u0631\u06af\u0631\u062f\u0627\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight c\"><code><span class=\"k\">return<\/span> <span class=\"n\">totalSize<\/span><span class=\"p\">;<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062a\u0639\u062f\u0627\u062f \u0628\u0627\u06cc\u062a \u0647\u0627\u06cc \u067e\u0631\u062f\u0627\u0632\u0634 \u0634\u062f\u0647 \u0631\u0627 \u0628\u0631\u06af\u0631\u062f\u0627\u0646\u06cc\u062f (<code>totalSize<\/code>).<br \/>\u0627\u06cc\u0646 \u0628\u0647 libcurl \u0633\u06cc\u06af\u0646\u0627\u0644 \u0645\u06cc \u062f\u0647\u062f \u06a9\u0647 \u062a\u06a9\u0647 \u062f\u0627\u062f\u0647 \u0628\u0627 \u0645\u0648\u0641\u0642\u06cc\u062a \u0645\u062f\u06cc\u0631\u06cc\u062a \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%DA%86%D9%87_%D8%B2%D9%85%D8%A7%D9%86%DB%8C_%D8%A8%D8%A7%DB%8C%D8%AF_C_%D8%B1%D8%A7_%D8%A8%D8%B1%D8%A7%DB%8C_API_%D9%87%D8%A7_%D8%A7%D9%86%D8%AA%D8%AE%D8%A7%D8%A8_%DA%A9%D8%B1%D8%AF\"><\/span>\n<p>  \u0686\u0647 \u0632\u0645\u0627\u0646\u06cc \u0628\u0627\u06cc\u062f C \u0631\u0627 \u0628\u0631\u0627\u06cc API \u0647\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0631\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0627\u0632 C \u0628\u0631\u0627\u06cc \u0645\u0635\u0631\u0641 API \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647:<\/p>\n<ul>\n<li>\u0645\u0633\u0627\u0626\u0644 \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u0639\u0645\u0644\u06a9\u0631\u062f: C \u0628\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u062d\u0633\u0627\u0633 \u0628\u0647 \u0633\u0631\u0639\u062a \u0627\u06cc\u062f\u0647 \u0622\u0644 \u0627\u0633\u062a.<\/li>\n<li>\u06cc\u06a9\u067e\u0627\u0631\u0686\u0647 \u0633\u0627\u0632\u06cc \u0633\u06cc\u0633\u062a\u0645: \u0634\u0645\u0627 \u0628\u0627\u06cc\u062f \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0647\u0627\u06cc \u0634\u0628\u06a9\u0647 \u0631\u0627 \u0628\u0627 \u0639\u0645\u0644\u06cc\u0627\u062a \u0633\u062e\u062a \u0627\u0641\u0632\u0627\u0631\u06cc (\u0645\u062b\u0644\u0627\u064b \u0648\u0627\u06a9\u0634\u06cc \u062f\u0627\u062f\u0647 \u0647\u0627 \u0628\u0631\u0627\u06cc \u06cc\u06a9 \u0633\u06cc\u0633\u062a\u0645 PoS) \u062a\u0631\u06a9\u06cc\u0628 \u06a9\u0646\u06cc\u062f.<\/li>\n<li>\u0633\u06cc\u0633\u062a\u0645 \u0647\u0627\u06cc \u062c\u0627\u0633\u0627\u0632\u06cc \u0634\u062f\u0647: \u062f\u0633\u062a\u06af\u0627\u0647 \u0647\u0627\u06cc \u0645\u062d\u062f\u0648\u062f \u0628\u0647 \u0645\u0646\u0627\u0628\u0639 \u0627\u0632 \u06a9\u0627\u0631\u0627\u06cc\u06cc C \u0628\u0647\u0631\u0647 \u0645\u06cc \u0628\u0631\u0646\u062f.<\/li>\n<li>\n<strong>\u06a9\u0646\u062c\u06a9\u0627\u0648\u06cc \u0648 \u0627\u06a9\u062a\u0634\u0627\u0641<\/strong>: \u06af\u0627\u0647\u06cc \u0627\u0648\u0642\u0627\u062a\u060c \u0634\u0645\u0627 \u0635\u0631\u0641\u0627\u064b \u0628\u0647 \u0627\u06cc\u0646 \u062f\u0644\u06cc\u0644 \u0627\u0632 C \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0627\u0632 \u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633\u06cc \u0644\u0630\u062a \u0645\u06cc \u0628\u0631\u06cc\u062f \u0648 \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u062e\u0648\u062f \u0631\u0627 \u0628\u0627 \u06a9\u0627\u0648\u0634 \u062f\u0631 \u06cc\u06a9 \u0632\u0628\u0627\u0646 \u0633\u0637\u062d \u067e\u0627\u06cc\u06cc\u0646 \u062a\u0631 \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u0627\u063a\u0644\u0628 \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631\u0647\u0627\u06cc \u0633\u0637\u062d \u0628\u0627\u0644\u0627\u062a\u0631 \u0631\u0632\u0631\u0648 \u0645\u06cc \u0634\u0648\u062f\u060c \u0628\u0647 \u0686\u0627\u0644\u0634 \u0628\u06a9\u0634\u06cc\u062f. \u0627\u06cc\u0646 \u06cc\u06a9 \u0631\u0627\u0647 \u0639\u0627\u0644\u06cc \u0628\u0631\u0627\u06cc \u0639\u0645\u06cc\u0642\u200c\u062a\u0631 \u06a9\u0631\u062f\u0646 \u062f\u0631\u06a9 \u0634\u0645\u0627 \u0627\u0632 \u0646\u062d\u0648\u0647 \u0639\u0645\u0644\u06a9\u0631\u062f \u0647\u0645\u0647 \u0686\u06cc\u0632 \u062f\u0631 \u0632\u06cc\u0631 \u06a9\u0627\u067e\u0648\u062a \u0627\u0633\u062a!<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"%D9%86%D8%AA%DB%8C%D8%AC%D9%87_%DA%AF%DB%8C%D8%B1%DB%8C\"><\/span>\n<p>  \u0646\u062a\u06cc\u062c\u0647 \u06af\u06cc\u0631\u06cc<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0645\u0635\u0631\u0641 API\u0647\u0627 \u062f\u0631 C \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u062f\u0631 \u062f\u0646\u06cc\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633\u06cc \u0633\u0637\u062d \u0628\u0627\u0644\u0627 \u0627\u0645\u0631\u0648\u0632\u06cc \u063a\u06cc\u0631 \u0645\u062a\u0639\u0627\u0631\u0641 \u0628\u0647 \u0646\u0638\u0631 \u0628\u0631\u0633\u062f\u060c \u0627\u0645\u0627 \u0627\u0628\u0632\u0627\u0631 \u0642\u062f\u0631\u062a\u0645\u0646\u062f\u06cc \u0628\u0631\u0627\u06cc \u0633\u0646\u0627\u0631\u06cc\u0648\u0647\u0627\u06cc\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u0639\u0645\u0644\u06a9\u0631\u062f\u060c \u06a9\u0646\u062a\u0631\u0644 \u0648 \u0627\u062f\u063a\u0627\u0645 \u0628\u0627 \u0639\u0645\u0644\u06cc\u0627\u062a \u0633\u0637\u062d \u0633\u06cc\u0633\u062a\u0645 \u062f\u0627\u0631\u0646\u062f. \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647\u200c\u0647\u0627\u06cc\u06cc \u0645\u0627\u0646\u0646\u062f libcurl\u060c \u062a\u0648\u0633\u0639\u0647\u200c\u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0646\u062f \u0628\u0647 \u0631\u0627\u062d\u062a\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u200c\u0647\u0627\u06cc HTTP \u0631\u0627 \u062f\u0631 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc C \u0627\u062f\u063a\u0627\u0645 \u06a9\u0646\u0646\u062f \u0648 \u0634\u06a9\u0627\u0641 \u0628\u06cc\u0646 API\u0647\u0627\u06cc \u0645\u062f\u0631\u0646 \u0648 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0646\u0648\u06cc\u0633\u06cc \u0633\u0646\u062a\u06cc \u062f\u0631 \u0633\u0637\u062d \u0633\u06cc\u0633\u062a\u0645 \u0631\u0627 \u067e\u0631 \u06a9\u0646\u0646\u062f.<\/p>\n<p>\u0628\u0627 \u0627\u06cc\u0646 \u062f\u0627\u0646\u0634\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc C \u0628\u0633\u0627\u0632\u06cc\u062f \u06a9\u0647 \u0628\u0647 \u0637\u0648\u0631 \u06cc\u06a9\u067e\u0627\u0631\u0686\u0647 \u0628\u0627 API\u0647\u0627 \u062a\u0639\u0627\u0645\u0644 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u0646\u062f \u0648 \u062b\u0627\u0628\u062a \u06a9\u0646\u0646\u062f \u06a9\u0647 C \u062d\u062a\u06cc \u062f\u0631 \u06af\u0631\u062f\u0634\u200c\u0647\u0627\u06cc \u06a9\u0627\u0631\u06cc \u062a\u0648\u0633\u0639\u0647 \u0645\u062f\u0631\u0646 \u0646\u06cc\u0632 \u0645\u0631\u062a\u0628\u0637 \u0627\u0633\u062a.<\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Summarize this content to 400 words in Persian Lang \u0627\u0645\u0631\u0648\u0632\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 API \u0647\u0627\u06cc \u0648\u0628 \u06cc\u06a9 \u0631\u0648\u0634 \u0631\u0627\u06cc\u062c \u0628\u0631\u0627\u06cc \u062a\u0628\u0627\u062f\u0644 \u062f\u0627\u062f\u0647 \u0628\u06cc\u0646 \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627 \u0627\u0633\u062a. \u0622\u0645\u0648\u0632\u0634\u200c\u0647\u0627\u06cc \u0645\u0635\u0631\u0641 API \u062f\u0631 \u0632\u0628\u0627\u0646\u200c\u0647\u0627\u06cc\u06cc \u0645\u0627\u0646\u0646\u062f \u062c\u0627\u0648\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a\u060c \u067e\u0627\u06cc\u062a\u0648\u0646 \u06cc\u0627 PHP \u0641\u0631\u0627\u0648\u0627\u0646 \u0627\u0633\u062a\u060c \u0627\u0645\u0627 C &#8211; \u0627\u063a\u0644\u0628 \u0628\u0627 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0646\u0648\u06cc\u0633\u06cc \u062f\u0631 \u0633\u0637\u062d \u0633\u06cc\u0633\u062a\u0645 \u0645\u0631\u062a\u0628\u0637 \u0627\u0633\u062a &#8211; \u0628\u0647 \u0646\u062f\u0631\u062a \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u0645\u0646\u0638\u0648\u0631 &hellip;<\/p>\n","protected":false},"author":2,"featured_media":84581,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-84580","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/84580","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=84580"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/84580\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/84581"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=84580"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=84580"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=84580"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}