نمایش نتایج 1 تا 22 از 22

نام تاپیک: ارسال اطلاعات به اینترنت

  1. #1

    ارسال اطلاعات به اینترنت

    سلام دوستان.
    خیلی مزاحم میشم !!! ببخشید !!! اگر میشه به این سوالم هم جواب بدید. خیلی ممنونم.
    مثلا ما یه صفحه PHP با آدرس زیر داریم :
    http://site.com/index.php


    حالا من میخوام بدونم چطور میتونم با استفاده از Qt مقادیری رو با متود Post به این صفحه ارسال کنم ؟؟!!!
    ممنونم میشم اگر راهنمایی کنید.

  2. #2

    نقل قول: ارسال اطلاعات به اینترنت

    کلاس QNetworkAccessManager تابع post
    http://qt-project.org/doc/qt-5/qnetw...ager.html#post

  3. #3

    نقل قول: ارسال اطلاعات به اینترنت

    نقل قول نوشته شده توسط omid_kma مشاهده تاپیک
    کلاس QNetworkAccessManager تابع post
    http://qt-project.org/doc/qt-5/qnetw...ager.html#post
    من چیزی متوجه نشدم.
    میشه یه نمونه ساده قرار بدید !
    خیلی ممنونم.

  4. #4

    نقل قول: ارسال اطلاعات به اینترنت

    این مثال ساده (به فایل .pro مثل سوال قبلی QT += network هم اضافه کن ) (data اون اطلاعاتی هست که می خواهی post کنی )

    #include <QApplication>
    #include <QNetworkAccessManager>
    #include <QNetworkRequest>
    #include <QNetworkReply>
    #include <QDebug>
    int main(int argc, char *argv[])
    {
    QApplication a(argc, argv);
    QNetworkAccessManager manager;
    QByteArray data;
    data.push_back("data=text");
    QNetworkRequest request(QUrl("http://www.test.com/"));
    request.setHeader(QNetworkRequest::ContentTypeHead er,
    "application/x-www-form-urlencoded");
    manager.post(request,data);
    QObject::connect(&manager, &QNetworkAccessManager::finished,[](QNetworkReply* reply){
    qDebug() << reply->readAll();
    });
    return a.exec();
    }


    آخرین ویرایش به وسیله omid_kma : جمعه 14 شهریور 1393 در 00:11 صبح

  5. #5

    نقل قول: ارسال اطلاعات به اینترنت

    عجب !! داخل اون کد بالا جلوی QUrl این هست : http://www.test.com نمی دونم چرا خودکار با <a href="http://www.test.com/" target="_blank">http://www.test.com/</a>")); جایگزین میشه هرچی هم بین خطوط فاصله گذاشتم حذف شده !!!! indenet کد هم ریخته به هم !! من که هرکار کردم درست نشد !!
    سایت برنامه نویسی ادیتورش در حد این سایتای دانلود فیلم و سریال هم نیست اعصاب نمیزاره به خدا آدم 2 خط تو این سایت مینویسه اندازه نوشتن 1 فصل یک کتاب وقت باید بزاره
    آخرین ویرایش به وسیله omid_kma : جمعه 14 شهریور 1393 در 00:05 صبح

  6. #6

    نقل قول: ارسال اطلاعات به اینترنت

    متاسفانه کار نکرد !

  7. #7

    نقل قول: ارسال اطلاعات به اینترنت

    من نمی دونم دقیقا با چه سایتی تست کردید
    من اینو تست کردم درست بود :‌(محتویات فایل test.html که در محل پروژه ساخته میشه رو ببینید )
    http://paste.ofcode.org/U6qjs7MVMTynKc3956V3fU

  8. #8

    نقل قول: ارسال اطلاعات به اینترنت

    نقل قول نوشته شده توسط omid_kma مشاهده تاپیک
    من نمی دونم دقیقا با چه سایتی تست کردید
    من اینو تست کردم درست بود :‌(محتویات فایل test.html که در محل پروژه ساخته میشه رو ببینید )
    http://paste.ofcode.org/U6qjs7MVMTynKc3956V3fU
    این پروژه ای هست که من نوشتم :
    http://0up.ir/up8/guest/9-Qt-Send-Data-To-Web-Page.rar

    محتویات فایل qt-server.php هم اینه :


    <?php
    if(isset($_POST['id']) && !empty($_POST['id'])) {
    $id = 'Your ID Is : ' . $_POST['id'];
    file_put_contents("qt-data.txt", $id);
    }


    اما فایلی با نام qt-data.txt ساخته نمیشه !!
    میشه راهنمایی کنید.

  9. #9

    نقل قول: ارسال اطلاعات به اینترنت

    بخاطر این هست که وقتی اطلاعات رو میفرستید به سرور نباید شی کلاس accessManager پاک بشه . شی رو بصورت فیلد private کلاس بزارید . (یا از new استفاده کنید )

    این فایل .cpp که من الان تست کردم : (قبل از تست کردن url ای که من دادم رو عوض کنید )
    http://paste.ofcode.org/s87GTC8z5LhGaVWKwF8ZbB
    اینم .h :
    http://paste.ofcode.org/38wcLUqJChJxczmGQUNMpxs
    آخرین ویرایش به وسیله omid_kma : جمعه 14 شهریور 1393 در 13:30 عصر

  10. #10

    نقل قول: ارسال اطلاعات به اینترنت

    نقل قول نوشته شده توسط omid_kma مشاهده تاپیک
    بخاطر این هست که وقتی اطلاعات رو میفرستید به سرور نباید شی کلاس accessManager پاک بشه . شی رو بصورت فیلد private کلاس بزارید . (یا از new استفاده کنید )

    این فایل .cpp که من الان تست کردم : (قبل از تست کردن url ای که من دادم رو عوض کنید )
    http://paste.ofcode.org/s87GTC8z5LhGaVWKwF8ZbB
    اینم .h :
    http://paste.ofcode.org/38wcLUqJChJxczmGQUNMpxs
    خیلی ممنونم. کار کرد !!
    فقط یه سوال دیگه !!

    این کد رو ببینید :


    QObject::connect(&manager, &QNetworkAccessManager::finished,[](QNetworkReply* reply){
    QString result_q = reply->readAll();
    });

    this->ui->textEdit->setText(result_q);


    چرا از این کد خطا میگیره ؟؟!!!


  11. #11

    نقل قول: ارسال اطلاعات به اینترنت

    چون [] یک لامبدا میسازه لامبدا هم مثل توابع متغیر هایی که داخلشون تعریف میشه خارج از lambda قابل استفاده نیستن این طوری بنویس :

    QObject::connect(&manager, &QNetworkAccessManager::finished,[this](QNetworkReply* reply){
    this->ui->textEdit->setText(reply->readAll());
    });

    ضمنا داخل [] نوشتیم this یعنی این که از this بشه داخل بدنه lambda استفاده کرد حالت عادی نمیشه .
    در مورد lambda ها داخل این لینک توضیحات کاملی هست http://www.7khatcode.com/3180/%D9%88...%A7%DB%8C-c-11

  12. #12

    نقل قول: ارسال اطلاعات به اینترنت

    نقل قول نوشته شده توسط omid_kma مشاهده تاپیک
    چون [] یک لامبدا میسازه لامبدا هم مثل توابع متغیر هایی که داخلشون تعریف میشه خارج از lambda قابل استفاده نیستن این طوری بنویس :

    QObject::connect(&manager, &QNetworkAccessManager::finished,[this](QNetworkReply* reply){
    this->ui->textEdit.setText(reply->readAll());
    });

    ضمنا داخل [] نوشتیم this یعنی این که از this بشه داخل بدنه lambda استفاده کرد حالت عادی نمیشه .
    در مورد lambda ها این لینک رو بخونید http://www.7khatcode.com/3180/%D9%88...how=3180#q3180
    این ارور رو میده :
    Capture.PNG

    حالا اگر بخوام result رو درون یه متغییر QString بریزم باید چیکار کنم ؟؟!!

  13. #13

    نقل قول: ارسال اطلاعات به اینترنت

    ویرایش کردم پست قبلی رو . (بجای . باید -> میزاشتم )
    اگر بخوای داخل String بریزی یک متغیر private داخل کلاس تعریف کن بعد داخل lambda بهش مقدار بده .

  14. #14

    نقل قول: ارسال اطلاعات به اینترنت

    نقل قول نوشته شده توسط omid_kma مشاهده تاپیک
    ویرایش کردم پست قبلی رو . (بجای . باید -> میزاشتم )
    اگر بخوای داخل String بریزی یک متغیر private داخل کلاس تعریف کن بعد داخل lambda بهش مقدار بده .
    کار میکنه ، اما نمیدونم چرا باید دو بار بر روی دکمه کلیک کنم تا متن درون textEdit قرار بگیره :
    http://0up.ir/up8/guest/5-Qt-Send-Data-To-Web-Page.rar

  15. #15

    نقل قول: ارسال اطلاعات به اینترنت

    به این شکلی که نوشتید اشتباه هست
    این خط :

    this->ui->textEdit->setText(result);


    داخل بدنه تابع هست نه lambda و قبل از این که نتیجه از سرور برگرده اجرا میشه (این جا لامبدا زمانی اجرا میشه که reply از سرور برگرده )
    دفعه اول چون result خالی هست چیزی نوشته نمیشه ولی دفعات بعدی چون احتمالا جواب از سرور برگشته نتیجه داخلش ذخیره شده .
    انتقالش بدین به داخل لامبدا درست میشه .

  16. #16

    نقل قول: ارسال اطلاعات به اینترنت

    نقل قول نوشته شده توسط omid_kma مشاهده تاپیک
    به این شکلی که نوشتید اشتباه هست
    این خط :

    this->ui->textEdit->setText(result);


    داخل بدنه تابع هست نه lambda و قبل از این که نتیجه از سرور برگرده اجرا میشه (این جا لامبدا زمانی اجرا میشه که reply از سرور برگرده )
    دفعه اول چون result خالی هست چیزی نوشته نمیشه ولی دفعات بعدی چون احتمالا جواب از سرور برگشته نتیجه داخلش ذخیره شده .
    انتقالش بدین به داخل لامبدا درست میشه .
    خیلی ممنونم. درست شد.
    فقط یه مشکلی هست. اگر من دوباره بر روی دکمه کلیک کنم ، متن داخل textEdit خالی میمونه !!!
    چکار کنم که هر دفعه که کلیک میشه این مشکل به وجود نیاد !!!

  17. #17

    نقل قول: ارسال اطلاعات به اینترنت

    اول تابع( و خارج از لامبدا) اینو بنویسید :

    ui->textEdit->clear();

    تا محتوای textEdit پاک بشه (البته اگر منظورتون رو درست متوحه شده باشم ؟!‌ )

  18. #18

    نقل قول: ارسال اطلاعات به اینترنت

    منظورت از لامبدا چی هست؟

  19. #19

    نقل قول: ارسال اطلاعات به اینترنت

    نقل قول نوشته شده توسط رضاس1000 مشاهده تاپیک
    منظورت از لامبدا چی هست؟
    این جا قبلا توضیح داده شده (قسمت lambda functions/expressions

    http://www.7khatcode.com/3180/%D9%88...%A7%DB%8C-c-11

  20. #20

    نقل قول: ارسال اطلاعات به اینترنت

    نقل قول نوشته شده توسط omid_kma مشاهده تاپیک
    اول تابع( و خارج از لامبدا) اینو بنویسید :

    ui->textEdit->clear();

    تا محتوای textEdit پاک بشه (البته اگر منظورتون رو درست متوحه شده باشم ؟!‌ )

    نه کار نکرد.
    مثلا وقتی که برای اول روی دکمه کلیک میکنی اطلاعات رو نشون میده. اما اگر دوباره بعدش یه بار دیگه روی دکمه کلیک کنی متن داخل editText خالی میشه و هیچی توش نمایش داده نمیشه !!!

  21. #21

    نقل قول: ارسال اطلاعات به اینترنت

    اینو امتحان کن ببین درسته :http://paste.ofcode.org/h7YmR47H25SVAYnWgMHyAK
    اگر نبود کدت رو بزار

  22. #22
    کاربر دائمی آواتار ehsan_faal
    تاریخ عضویت
    خرداد 1392
    محل زندگی
    تهران
    پست
    325

    نقل قول: ارسال اطلاعات به اینترنت

    نقل قول نوشته شده توسط AliRezaBeytari مشاهده تاپیک
    سلام دوستان.
    خیلی مزاحم میشم !!! ببخشید !!! اگر میشه به این سوالم هم جواب بدید. خیلی ممنونم.
    مثلا ما یه صفحه PHP با آدرس زیر داریم :
    http://site.com/index.php


    حالا من میخوام بدونم چطور میتونم با استفاده از Qt مقادیری رو با متود Post به این صفحه ارسال کنم ؟؟!!!
    ممنونم میشم اگر راهنمایی کنید.
    خیلی جالبه که عنوان این تاپیک رو گذاشتی آموزش.

تاپیک های مشابه

  1. ارسال اطلاعات یک بانک اطلاعاتی با vb6یا C#‎ به وسیله ی اینترنت به یک سرور
    نوشته شده توسط 456231 در بخش مطالب مرتبط با بانکهای اطلاعاتی در VB6
    پاسخ: 0
    آخرین پست: سه شنبه 23 اسفند 1390, 20:42 عصر
  2. سوال: ارسال اطلاعات از طریق اینترنت به صورت در لحظه
    نوشته شده توسط saber187518 در بخش C#‎‎
    پاسخ: 1
    آخرین پست: دوشنبه 23 آبان 1390, 18:27 عصر
  3. ارسال اطلاعات داخل پایگاه داده به اینترنت و برعکس
    نوشته شده توسط soheilbehro در بخش مطالب مرتبط با بانکهای اطلاعاتی در VB6
    پاسخ: 1
    آخرین پست: سه شنبه 24 شهریور 1388, 02:24 صبح
  4. سوال: حجم دریافت و حجم ارسال اطلاعات در هنگام اتصال به اینترنت
    نوشته شده توسط meysamkarimi در بخش C#‎‎
    پاسخ: 0
    آخرین پست: سه شنبه 03 شهریور 1388, 10:33 صبح
  5. سوال: ارسال اطلاعات بدون استفاده از بستر اینترنت
    نوشته شده توسط siavash_n در بخش VB.NET
    پاسخ: 0
    آخرین پست: جمعه 04 اردیبهشت 1388, 01:13 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •