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

نام تاپیک: چرا این error رو میده و چه جوری میشه رفعش کرد The remote server returned an error: (411) Length Req

  1. #1
    کاربر دائمی آواتار bade saba
    تاریخ عضویت
    شهریور 1387
    محل زندگی
    bargsabzb.ir
    پست
    499

    چرا این error رو میده و چه جوری میشه رفعش کرد The remote server returned an error: (411) Length Req

    کدی که نوشتم رو میزارم و خطی که این ارور رو نشون میده رو هم با ستاره مشخص کردم
    ممنون میشم اگه راه حلی براش دارید کمکم کنید



    HttpWebRequest
    webRequest = (HttpWebRequest)WebRequest.Create("http://www.sample.com/login.php");

    webRequest.SendChunked = true;
    webRequest.Method = "POST";
    webRequest.ContentType = "application/x-www-form-urlencoded";

    ASCIIEncoding encoding = newASCIIEncoding();
    byte[] data = encoding.GetBytes("name=myuser&password=mypassword&s1=Button");

    webRequest.ContentLength = data.Length;


    webRequest.CookieContainer = newCookieContainer();


    Stream newStream = webRequest.GetRequestStream();
    newStream.Write(data, 0, data.Length);
    newStream.Close();
    HttpWebResponse webResponse;
    webResponse = (HttpWebResponse)webRequest.GetResponse();



    string html;
    using (Stream strmresponse = webResponse.GetResponseStream())
    {
    using (StreamReader reader = newStreamReader(strmresponse, Encoding.UTF8))
    {
    html = reader.ReadToEnd();
    }
    }
    آخرین ویرایش به وسیله bade saba : سه شنبه 06 مهر 1389 در 22:05 عصر

  2. #2
    کاربر دائمی آواتار bade saba
    تاریخ عضویت
    شهریور 1387
    محل زندگی
    bargsabzb.ir
    پست
    499

    نقل قول: چرا این error رو میده و چه جوری میشه رفعش کرد The remote server returned an error: (411) Le

    ببخشید خطا تو خط زیر رخ میده

    webResponse = (HttpWebResponse)webRequest.GetResponse();

  3. #3

    نقل قول: چرا این error رو میده و چه جوری میشه رفعش کرد The remote server returned an error: (411) Le

    سلام.
    خطا از آدرس وارد شده هست.
    توی مرورگر هم اجرا کنی همین خطا رو میده.

  4. #4
    کاربر دائمی آواتار bade saba
    تاریخ عضویت
    شهریور 1387
    محل زندگی
    bargsabzb.ir
    پست
    499

    نقل قول: چرا این error رو میده و چه جوری میشه رفعش کرد The remote server returned an error: (411) Le

    نقل قول نوشته شده توسط Hamishebahar مشاهده تاپیک
    سلام.
    خطا از آدرس وارد شده هست.
    توی مرورگر هم اجرا کنی همین خطا رو میده.

    دوست عزیز اون آدرس وارد شده یه آدرس مثال هست نه حقیقی
    شما یه آدرس پیج واقعی با اطلاعات درست وارد کن ایراد رو میبینی
    آخرین ویرایش به وسیله bade saba : سه شنبه 06 مهر 1389 در 22:06 عصر

  5. #5
    کاربر دائمی آواتار bade saba
    تاریخ عضویت
    شهریور 1387
    محل زندگی
    bargsabzb.ir
    پست
    499

    نقل قول: چرا این error رو میده و چه جوری میشه رفعش کرد The remote server returned an error: (411) Le

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

    برای رفع این ارور باید خط زیر رو از کد بالا حذف کرد

    webRequest.SendChunked = true;


    اما مشکلی که من داشتم این بود که برنامه با حذف این خط ارور نمی داد اما نمیتونست login کنه این مشکل هم به خاطر این بود که من فقط usrename و pssword و رویداد دکمه رو تو خط زیر برنامه مینوشتم

    byte[] data = encoding.GetBytes("name=myuser&password=mypassword&s1=Button");


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

    <inputtype="hidden" name="promo" value="">


    <inputtype="hidden" name=".intl" value="us">


    که اگه بخواییم با توجه به این دو خط string رو بنویسیم به شکل زیر میشه

    name=mymane&password=mypassword&s1=button&promo=&. intl=us

    ****s1 در اینجا اسم دکمه ای که باید کلیک بشه و باید مقداری که در value اون هست براش ارسال بشه


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

    webRequest = (HttpWebRequest)WebRequest.Create("http://www.sample.com/nextPage.php");
    webRequest.Method
    = "Get";
    webResponse = (HttpWebResponse)webRequest.GetResponse();


    که این به خاطر عدم ارسال cookie ها هستش که اگه کد رو به شکل زیر بنویسید این مشکل هم حل میشه

    strCook = webResponse.Headers["Set-Cookie"];
    webRequest = (HttpWebRequest)WebRequest.Create("http://www.sample.com/nextPage.php");
    webRequest.Headers.Add("Cookie", strCook);
    webRequest.Method = "Get";
    webResponse = (HttpWebResponse)webRequest.GetResponse();


    امیدوارم این مطالب به دوستان کمک بکنه

  6. #6
    کاربر دائمی آواتار debugger
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    Turkey
    پست
    843

    نقل قول: چرا این error رو میده و چه جوری میشه رفعش کرد The remote server returned an error: (411) Le

    میخوای چی بنویسی یا چه کاری انجام بدی ؟؟؟

    شاید کد های ساده تری هم وجود داشته باشه؟؟

  7. #7
    کاربر دائمی آواتار bade saba
    تاریخ عضویت
    شهریور 1387
    محل زندگی
    bargsabzb.ir
    پست
    499

    نقل قول: چرا این error رو میده و چه جوری میشه رفعش کرد The remote server returned an error: (411) Le

    این تاپیکی هست که من چند وقت پیش ایجاد کردم و کاری که میخواستم انجام بدم رو تقریبا توضیح داده بودم

    http://www.barnamenevis.org/sh...d.php?t=242431

  8. #8
    کاربر دائمی آواتار debugger
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    Turkey
    پست
    843

    نقل قول: چرا این error رو میده و چه جوری میشه رفعش کرد The remote server returned an error: (411) Le

    بله اگر بخوای وارد ایمیل بشی (مثلا یاهو و ...) و اون کارهایی که گفتی را انجام بدی

    میشه با regex اون لینک های مورد نظر را بدست اورد و بعد با وب براوزر navigate کرد و بعد ....

    اطلاعات مورد نیاز را بیرون کشید

    برای لاگین شدن به سایت یاهو هم می تونی فیلد ها را پرکنی و بعد submit کنی

  9. #9
    کاربر دائمی آواتار bade saba
    تاریخ عضویت
    شهریور 1387
    محل زندگی
    bargsabzb.ir
    پست
    499

    نقل قول: چرا این error رو میده و چه جوری میشه رفعش کرد The remote server returned an error: (411) Le

    میشه توضیخ بیشتری بدید ؟؟؟؟

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

    اگه یه چند خط کد یا چیزی که درک بهتری از موضوعی که میگید رو ایجاد کنه ممنون میشم اینجا قرار بدید

  10. #10
    کاربر دائمی آواتار debugger
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    Turkey
    پست
    843

    نقل قول: چرا این error رو میده و چه جوری میشه رفعش کرد The remote server returned an error: (411) Le

    کد های شما برای انجام کار مورد نظرتون خیلی خوبه و پرسرعته و نیازی به وب براوزر نیست

    ولی وقتی میخوای وارد یک اکانت بشی دیگه کاربرد نداره و باید حتما از وب براوزر استفاده کنی

    شما فکر کن با اینترنت ایکسپلورر لاگین کردی و وارد اکانتت شدی و بعد لینک همون صفحه (وقتی که کامل وارد شدی) را می بری تو فایر فاکس یا یک مرور گر دیگه باز میکنی و یا تو خود اکسپلورر اما در یک اکسپلورر جدید نه در تب
    خب طبیعی هست که با صفحه ای رو به رو میشی که وارد اکانت نشده

    قضیه کد های شما هم حکایت همین مساله هست

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

    اتصال به اینترنت را چک کنه
    به سایت یاهو بره
    لاگین کنه
    به اینباکس بره
    تعداد ایمیل را بشماره
    و ....

    منم با یه مشکلی رو به رو شدم که خارج از این بحث هست ولی فکر کنم به کمک شما بشه حل کرد

    برای دریافت سورس و .. پیغام خصوصی بدین تا من شماره موبایل بدم تا تلفنی حرف بزنیم

  11. #11

    نقل قول: چرا این error رو میده و چه جوری میشه رفعش کرد The remote server returned an error: (411) Le

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

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

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