تبدیل curl به MATLAB
curl2code دستورات curl را با استفاده از webwrite و webread به کد MATLAB تبدیل میکند. این تبدیل برای حفظ حریم خصوصی کامل، در مرورگر شما از طریق WebAssembly انجام میشود. برای Python، مبدل curl به Python ما را بررسی کنید. برای R، curl به R را ببینید. در ادامه مثالهای کاربردی MATLAB آورده شده است.
نحوه کپی کردن curl از مرورگر
- 1
باز کردن DevTools
کلید F12 یا Ctrl+Shift+I را فشار دهید تا ابزارهای توسعهدهنده مرورگر باز شوند.
- 2
رفتن به تب Network
روی تب Network کلیک کنید و عملیاتی که باعث ارسال درخواست HTTP میشود را انجام دهید.
- 3
کپی به عنوان cURL
روی درخواست راستکلیک کنید ← Copy ← Copy as cURL. سپس آن را در بالا جایگذاری کنید.
سوالات متداول
MATLAB webwrite چیست؟
توابع webwrite و webread در MATLAB قابلیتهای داخلی HTTP را برای ارسال و دریافت داده فراهم میکنند. آنها سریالسازی JSON را به طور خودکار انجام میدهند و با انواع دادههای MATLAB یکپارچه میشوند. برای کنترل بیشتر، از matlab.net.http.RequestMessage استفاده کنید. نیازی به نصب تولباکس نیست — اینها بخشی از هسته MATLAB هستند.
webwrite در مقابل matlab.net.http — از کدام استفاده کنیم؟
webwrite/webread ساده و مختصر هستند — ایدهآل برای فراخوانیهای سریع API و بازیابی دادهها. matlab.net.http کنترل کامل روی هدرها، متدها، استریمینگ و احراز هویت را فراهم میکند. از webwrite برای فراخوانیهای استاندارد REST و از matlab.net.http زمانی که به هدرهای سفارشی یا متدهای غیر استاندارد نیاز دارید استفاده کنید. برای جایگزینهای علوم داده، curl به Python یا curl به R را ببینید.
چگونه احراز هویت را در MATLAB مدیریت کنیم؟
با weboptions: options = weboptions('HeaderFields', { 'Authorization', 'Bearer token' }). برای احراز هویت Basic، از weboptions('Username', user, 'Password', pass) استفاده کنید. با matlab.net.http، هدرها را مستقیماً روی اشیاء HeaderField تنظیم کنید. curl2code پرچمهای احراز هویت را به نحو مناسب MATLAB تبدیل میکند.
چگونه دادههای multipart form را در MATLAB ارسال کنیم؟
از matlab.net.http.io.MultipartFormProvider برای آپلود فایل استفاده کنید. برای ارسال فرمهای سادهتر، از webwrite(url, 'key1', 'value1', 'key2', 'value2') استفاده کنید. MATLAB سریالسازی را بر اساس گزینه MediaType انجام میدهد. curl2code پرچمهای -F را به الگوی صحیح MATLAB تبدیل میکند.
چگونه خطاهای HTTP را در MATLAB مدیریت کنیم؟
فراخوانیها را در try/catch قرار دهید: try response = webread(url, options); catch ME disp(ME.message); end. برای بررسی کد وضعیت با matlab.net.http، response.StatusCode را بازرسی کنید. MATLAB به طور پیشفرض در صورت خطاهای شبکه و پاسخهای غیر 2xx استثنا پرتاب میکند.
چگونه پاسخهای JSON را در MATLAB پارس کنیم؟
webread به طور خودکار JSON را به ساختارها (structs) و آرایههای سلولی (cell arrays) متلب پارس میکند. برای پارس دستی، از jsondecode(jsonString) استفاده کنید. دادههای MATLAB را با jsonencode(data) به JSON تبدیل کنید. MATLAB اشیاء JSON را به struct، آرایهها را به cell array و مقادیر اولیه را به معادلهای متلب آنها نگاشت میکند.
چگونه تایماوتها را در MATLAB تنظیم کنیم؟
از weboptions('Timeout', 30) برای تنظیم تایماوت به ثانیه استفاده کنید. با matlab.net.http، HTTPOptions را با ConnectTimeout پیکربندی کنید. تایماوت پیشفرض برای webread/webwrite برابر ۵ ثانیه است. برای عدم محدودیت زمانی (که برای تولید توصیه نمیشود) آن را روی Inf تنظیم کنید.
چگونه از یک پروکسی در MATLAB استفاده کنیم؟
پروکسی را در تنظیمات MATLAB پیکربندی کنید: Home > Preferences > Web. یا از ویژگیهای سیستم جاوا استفاده کنید: java.lang.System.setProperty('http.proxyHost', 'proxy'). MATLAB از پشته شبکه JVM استفاده میکند، بنابراین تنظیمات پروکسی جاوا اعمال میشود. برای احراز هویت پروکسی، http.proxyUser و http.proxyPassword را تنظیم کنید.
چگونه یک درخواست POST با بدنه JSON در MATLAB ارسال کنیم؟
یک دستور curl POST مانند curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL را با استفاده از curl2code به MATLAB تبدیل کنید. کد تولید شده از response = webwrite(url, data, options) استفاده میکند. curl2code به طور خودکار فلگهای -d/--data با محتوای JSON را تشخیص داده و هدر Content-Type مناسب را در کد webwrite تنظیم میکند.
چگونه احراز هویت با Bearer token را در MATLAB اضافه کنیم؟
دستور curl -H "Authorization: Bearer YOUR_TOKEN" URL را به curl2code بدهید تا کد webwrite را با هدر احراز هویت تولید کند: options = weboptions('HeaderFields', {'Authorization', 'Bearer TOKEN'}). curl2code توکنهای Bearer را از هر دو فلگ -H "Authorization: Bearer ..." و --oauth2-bearer تشخیص میدهد. برای Basic auth، از -u user:pass استفاده کنید.
چگونه هدر Content-Type را در MATLAB تنظیم کنیم؟
curl2code دستور curl -H "Content-Type: application/json" URL را به کد webwrite با هدر مناسب تبدیل میکند: options = weboptions('MediaType', 'application/json'). برای دادههای -d، دستور curl به طور پیشفرض از application/x-www-form-urlencoded استفاده میکند؛ برای آپلودهای فرم -F، از multipart/form-data استفاده میکند. curl2code هر کدام را به API صحیح webwrite نگاشت میکند.