سؤال

هذه ليست المرة الأولى التي أستخدم فيها هذه الطريقة لإرسال طلب POST، ولم أواجه أية مشكلات مطلقًا:

    public static Stream SendPostRequest(Uri uri, byte[] postData)
    {
        var request = WebRequest.Create(uri);
        request.Method = "POST";
        request.ContentType = "application/x-www-form-urlencoded";
        request.ContentLength = postData.Length;
        Stream requestStream = request.GetRequestStream();
        requestStream.Write(postData, 0, postData.Length);
        requestStream.Close();
        return request.GetResponse().GetResponseStream();
    }

عند request.GetRequestStream() أحصل على System.Net.WebException:تم إغلاق الاتصال الأساسي:حدث خطأ غير متوقع أثناء الإرسال.
والأكثر إثارة للاهتمام هو أنه يعمل بشكل جيد على بعض الأجهزة، لكنه لا يعمل على جهازي (Windows 7 Beta) وخادم الإنتاج (Windows Server 2008).معلومات اكثر:

يعمل - ويندوز إكس بي - .NET 2.0
يعمل - ويندوز إكس بي - .NET 3.5
يعمل - ويندوز سيرفر 2003 - .NET 3.0
لا يعمل - نظام التشغيل Windows Vista - .NET 3.5
لا يعمل - Windows Server 2008 - .NET 3.5
لا يعمل - Windows 7 Beta - .NET 3.5 SP1

حاول:

[تم حلها.نوعا ما]
لقد نسيت أن أذكر ذلك، لكن أوري كان https...حاولت http وعملت.لا أستطيع أن أصدق، لم أحاول ذلك عاجلا ...
ومع ذلك، سأكون ممتنًا لو قام شخص ما بتسليط الضوء على هذا الوضع برمته.

هل كانت مفيدة؟

المحلول

ستكون خطتي الأولى للهجوم هي الاستخدام واير شارك لمعرفة ما يحدث على مستوى الشبكة في كل حالة.تعرف على ما يرسله كل جهاز.

لقد لاحظت أيضًا وجود اختلافات بين أنظمة التشغيل، ولكن هل تحتوي جميعها على نفس الإصدار الدقيق من .NET (وصولاً إلى SP) المثبت؟

نصائح أخرى

هل تعمل GETs؟ربما تكون مشكلة في تكوين الوكيل (proxycfg إلخ).

أيضًا - لتبسيط الأمور (تقليل عدد العناصر المجهولة)، فكر في استخدامها WebClient للقيام بهذا المنصب:

using (WebClient client = new WebClient())
{
    client.Headers.Add("content-type","application/x-www-form-urlencoded");
    client.UploadData(address, data);
    // or more simply
    client.UploadValues(address, nameValuePairs);
}

حاول تعديل واحد أو أكثر من الخيارات التالية:

  • أرسل تشوكد
  • السماح بإعادة التوجيه التلقائي
  • ترميز النقل

حاول أيضًا ملاحظة الاختلافات بينهما من خلال تكويناتك المختلفة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top