طراحی سایت, ساخت ربات تلگرام, آموزش php , سورس کد php ,سورس ربات تلگرام , سورس فروشگاه اینترنتی , آموزش طراحی وب

ارسال و دریافت jSON توسط cURL در php


ارسال و دریافت jSON توسط cURL در php

زمانی که با وب سرویس ها و APIها کار می کنید , ارسال و دریافت داده jSON از قابلیت های بسیار ضروری و کاربردی است. کتابخانه cURL ارسال داده jSON را بسیار آسان می کند . در این آموزش نحوه ارسال و دریافت jSON توسط cURL در php نشان می دهیم.

ارسال داده jSON با متد POST توسط cURL

مثال زیر یک درخواست HTTP POST ایجاد و داده جی سون را توسط curl ارسال می کند.

  • آدرسی را که قصد ارسال داده jSON را به آن دارید در $url مشخص کنید
  • درخواست curl را توسط curl_init() آغاز می کنیم.
  • داده ها را در یک آرایه مشخص و آن را توسط تابع json_encode() به یک رشته jSON تبدیل می کنیم.
  • داده های jSON را توسط CURLOPT_POSTFIELDS به فیلد های درخواست post اضافه کنیم
  • Content-Type راتوسط CURLOPT_HTTPHEADER ست می کنیم.
  • جواب برگشتی (Respose) را توسط CURLOPT_RETURNTRANSFER به صورت رشته تبدیل می کنیم.
  • در آخر , تابع curl_exec() برای اجرای درخواست POST فراخوانی میکنیم.

برای کپی صحیح و کامل کدها ، دابل کلیک کرده تا وارد محیط سفید و کپی شوید در غیر اینصورت امکان دارد اجرای کدها با مشکل روبرو شود

دریافت اطلاعات json توسط PHP

کد php زیر به شما نشان می دهد چطور اطلاعات json را دریافت کنیم. داده  jSON  را توسط json_decode() دیکد می کنیم . از تابع file_get_contents() هم برای دریافت اطلاعات به صورت خواندنی استفاده می کنیم

حتما بخوانید  مدیریت داده jSON در php

کد php بالا برای کار با وب هوک ها در ساخت ربات تلگرام هم بسیار کاربردی است و با استفاده از استریم php://input مقادیری را که webhook به آدرس فایلی که مشخص کردیم ارسال می کند را دریافت می کنیم و به همین صورت داده های json را تجزیه و تحلیل و خروجی صحیح را برای کاربر فرستاده یا در دیتابیس ذخیره می کنیم .

کار کردن با داده های نوع json بسیار ساده است و امروزه بیشتر وب سرویس ها و سایت هایی که api رایگان در اختیار ما قرار می دهند همانند تلگرام و سایت های درگاه پرداخت واسط مثل زرین پال به جای XML از JSON استفاده می کنند .

پس بهتر است شما هم در پروژه هایی که می نویسید از آن بهره ببرید چون یکی از استاندارد های جالب و کاربردی در وب است .

هرگونه مشکلی در پیاده سازی کدها داشتید ، از قسمت نظرات ارسال کنید . سریعا ، پاسخگوی سوالات شما هستیم .

موفق و پیروز باشید

حسن شفیعی
مدرس ، پنتستر ، توسعه دهنده اپلیکیشن های تحت وب ، عضو مرکز حامی نخبگان و از مدیران و اعضای رسمی تیم امنیتی آشیانه هستم . علاقه خاصی به زبان های تحت وب, امنیت شبکه و لینوکس دارم و هر روز تلاش می کنم به این حوزه ها مسلط تر شوم و اطلاعاتم را در وب به اشتراک بگذارم

دیدگاه کاربران

avatar
11 دیدگاه ها
12 پاسخ ها
0 دنبال کننده ها
 
دیدگاه با بیشترین پاسخ
پرطرفدارترین دیدگاه ها
7 تعداد نویسندگان دیدگاه
حسن شفیعیعلی یعقوبیفرهادپژواکممد نویسنده های اخیر دیدگاه
علی یعقوبی
علی یعقوبی

سلام و خسته نباشید بنده دو صفحه دارم با نام های api.php و InstagramAPI.php و این دو صفحه در هاست شخصی بنده (localhost) میباشد. بنده کدی نوشتم با curlکه با اجرای صفحه InstagramAPI باید یکسری اطلاعات با متد POST به صفحه api ارسال شوند و و صفحه api هم با دریافت اطلاعات ، یکسری اطلاعات دیگر را با متد POST و با همان روش curl باید به صفحه InstagramAPI ارسال شوند! اطلاعات از صفحه InstagramAPI ارسال میشوند و نتیجه هم برگردانده میشود ولی صفحه api با اینکه هیچ مشکلی ندارد اما اطلاعات را ارسال نمیکند! این رو هم بگم که… نمایش بیشتر

فرهاد
فرهاد

سلام جناب شفیعی
ممنون از راهنمایی و زحماتتون
یه سوال دارم در مورد ربات تلگرام ببخشید اینجا پرسیدم
چطور میتونم messeage id متنی و رو که خود ربات میخواد بفرسته تو کانال یا گروه رو بدست بیارم
خواستم با یه ربات دیگه بخونم که نشد پیام هم رو نمیخونن
سپاس

فرهاد
فرهاد

پس echo بشه هرچی تو این صفحه x هست رو برمیگردونه

فرهاد
فرهاد

ببخشید من نمیتونم منظرمو برسونم
یه مثال بزنم
من یه عدد میفرستم با کرل به یه صفحه بنام x حالا تو اون صفحه یسری اطلاعات رو که خیلی زیاده از دیتابیس میخونه و تبدیل به json میکنه حالا اونو چطور برگردونم به این صفحه ای که اول بودم
ببخشید خیلی سوال پرسیدم

فرهاد
فرهاد

سلام ممنون از جوابتون نه سوالم اینه از اون صفحه که اطلاعات رو داریم میفرستیم بهش چور مشخص کنید که چه جوابی بفرسته

فرهاد
فرهاد

سلام و تشکر از بابت توضیحات بسیار ساده و روان
یه سوال دارم من اطلاعات رو میفرستم به یک صفحهدیگه چطور اونجا اظلاعات رو برگردونم به همین کرل

پژواک
پژواک

سلام
لطفا توضیح بدید که این کدها رو کدوم قسمت لاراول باید قرار داد؟

ممد
ممد

سلام
بنده با curl میخوام اطلاعات api تلگرامو تو سایتم چاپ کنم اینکارو انجام میدم چاپ میشه اما توسط نرم افزار من خونده نمیشه نمیدونم نوع چاپ شده اطلاعات فرق داره در صفحه؟
نمونه در سایت تلگرام خروجیش رنگش فردق داره ببینید در عکس زیر
http://uupload.ir/files/hzny_tele.png
اما تو سایت من
http://uupload.ir/files/r0qv_me.png

چجوری چاپ کنم انقده اینورو اونورش کردم دیگه نشد ک نشد

حمیدرضا
حمیدرضا

سلام حسن آقا
من داخل هاست رایگان ربات تلگرام نصب کردم ولی چون تابع file_get_content بسته بود نتونستم از اون استفاده کنم و از استریم php://input نمی‌شد استفاده کرد و به جای اون از $_POST استفاده کردم ولی پردازش رشته دریافتی خیلی سخت میشه.
لطفا اگر راه حلی دارید منو راهنمایی کنید.
کدی که من نوشتم داخل لینک زیر قرار دادم.
http://s8.picofile.com/file/8321367126/robot.php.html
ممنون

حمیدرضا
حمیدرضا

سلام
فقط خواستم تشکر کنم بابت مطالب بروز سایتت.
هرروز موفق‌تر از دیروز باشی.

مهدی
مهدی

با سلام ،
آیا api های اینستاگرام مثل اینستاگرام می باشد؟

دانلود رایگان (هدیه ویژه)

کتاب آموزش زبان برنامه نویسی PHP را دانلود و همین امروز یادگیری را شروع کن و به جمع برنامه نویسان ملحق شو ;)

دانلود رایگان کتاب

سورس فروشگاهی دیجی کالا

بخش کاربران

هنوز عضو نیستید ؟ کلیک کنید

مجوزهای ما

logo-samandehi

دانلود کتاب

عضویت رایگان خبرنامه