جستجو در تالارهای گفتگو
در حال نمایش نتایج برای برچسب های 'http'.
2 نتیجه پیدا شد
-
در کتابخانهی SFML کلاس Http این امکان را فراهم میکند تا به راحتی بتوانید تحت روشهای Post، Get و Head درخواستهای مورد نظر را دریافت و ارسال کنید. توجه داشته باشید این کتابخانه تنها از مباحث ابتدائی پروتکل Http پشتیبانی میکند. برای دسترسی و استفاده از این ویژگی کافی است سرآیند زیر را وارد کنید: #include <SFML/Network.hpp> سپس با فراخوانی فضای نام به صورت زیر، از کلاس مربوطه یک نمونه خواهیم ساخت: sf::Http http; به عنوان مثال کد زیر جهت آماده سازی برای ارسال به سمت سرور کافی است: #include <SFML/Network.hpp> sf::Http http; http.setHost("http://www.iostream.ir/"); با توجه به نیازهای مربوط به این مبحث، ارسال مقادیر به یک صفحه و آدرس اینترنتی توسط Request و Response صورت میگیرد که جهت دسترسی به این ویژگیها کافی است از کلاس مربوطه به صورت زیر نمونه گرفته شود. sf::Http::Request request; request.setMethod(sf::Http::Request::Post); request.setUri("/page.html"); request.setHttpVersion(1, 1); // HTTP 1.1 request.setField("From", "me"); request.setField("Content-Type", "application/x-www-form-urlencoded"); request.setBody("para1=value1¶m2=value2"); sf::Http::Response response = http.sendRequest(request); در کد فوق، روش درخواست از نوع Post و یا Get مشخص میشود که از متد setMethod جهت اعمال آن استفاده شده است. در ادامه مشخصهی setUri صفحه و یاآدرسی را که قرار است اطلاعات به آن ارسال یا دریافت شود را مشخص میکند. نسخهی پروتکل http با مشخصهی setHttpVersion با مقادیر صحیح مقدار دهی میشود که در این مثال مقدار ۱ به عنوان پشتیبانی از پروتکل نسخهی Http 1.1 تعیین شده است. با توجه به ماهیت روش Post مقادیری که برای ارسال نیاز است را باید ارسال کنید، برخی از اطلاعات ارسالی مانند Content-Type و غیره توسط مشخصهی setField مشخص میشود و همچنین مشخصهی setBody پارامترها (ورودیهایی) که از طرف کاربر ارسال میشود را فراهم میکند. در نهایت کلاس Response جهت دریافت و مدیریت دادههای ارسالی از سمت سرور را مدیریت میکند که برای دسترسی و چاپ اطلاعات تحت آن به صورت زیر خواهد بود: sf::Http::Response response = http.sendRequest(request); std::cout << "status: " << response.getStatus() << std::endl; std::cout << "HTTP version: " << response.getMajorHttpVersion() << "." << response.getMinorHttpVersion() << std::endl; std::cout << "Content-Type header:" << response.getField("Content-Type") << std::endl; std::cout << "body: " << response.getBody() << std::endl; مثال فوق وضعیت، نسخهی مرتبط با پروتکل مربوطه، مقدار Content-Type و همچنین اطلاعات ارسال شده در مشخصهی body را چاپ خواهد کرد. در ادامه مثال مشخصی را برای ارسال یک نظر را آوردهایم که به صورت زیر خواهد بود: #include <SFML/Network.hpp> #include <sstream> void sendComment(const std::string &message, const std::string &username) { // Prepare the request sf::Http::Request request("/comment.php", sf::Http::Request::Post); // Encode the parameters in the request body std::ostringstream stream; stream << "username=" << username << "&message=" << score; request.setBody(stream.str()); // Send the request sf::Http http("http://www.iostream.ir/"); sf::Http::Response response = http.sendRequest(request); // Check the status if (response.getStatus() == sf::Http::Response::Ok) { // Check the contents of the response std::cout << response.getBody() << std::endl; } else { std::cout << "Request failed" << std::endl; } } توجه داشته باشید که جهت بررسی وضعیت ارسالی از نمونهی response متد getStatus را میتوان با شمارندههای موجود در کلاس Response مورد ارزیابی قرار داد. در نهایت در سمت سرور کد زیر میتواند مقادیر ارسال شده را دریافت و پاسخ دهد: <?php $username = $_POST['username']; $message = $_POST['message']; if (write_to_database($username, $message)) { echo "Your comment has been added!"; } else { echo "failed to write your message to database..."; } ?> نکته: مثالهای فوق صرفاً برای آشنایی با نحوهی استفاده از ویژگی مربوطه در این کتابخانه است، بنابراین بسیار ساده و فاقد کدهای امنیتی و سفارشی است.
-
سلام ببخشید سوالی داشتم. متد post و get که در html خواندیم با متد get و post اندروید فرق میکنه؟ متد get و post در html هر دو برای ارسال اطلاعات بود. فقط اگر با get ارسال میکردیم امنیت پایین بود به خاطر نمایش اطلاعات در آدرس بار مرورگر ولی سرعت ارسال اطلاعات با get زیاده و اگر با post ارسال کنیم امنیت بالاست چون در آدرس بار اطلاعات رو نشون نمیداد. در اندروید فرق میکنه؟ یعنی آیا برای ارسال اطلاعات میتوان از دو متد استفاده کرد؟