سؤال

لدي عملية Tibco BW تبدأ بنشاط "مستقبل HTTP".

أرغب في الحصول على (عبر نشاط رمز Java مخصص) حجم طلب HTTP الأصلي. (الغرض من ذلك هو جمع الإحصاءات وقياس أوقات الاستجابة وأحجام الطلب/الاستجابة وما إلى ذلك)

أرغب في قياس البيانات بالبايت وليس في الشخصيات ، هل من الممكن الحصول على الطلب كبايت أو ServleTinputStream أو شيء مشابه؟

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

المحلول

لا أعتقد أنه يمكنك الحصول على الطلب الأصلي من كود Java - ببساطة لأنه لا يمكنك الوصول إلى كائن HttPservletRequest لجهاز استقبال HTTP من نشاط Java. إذا كنت ترغب في الوصول إلى بيانات RAW request ، فيمكنك كتابة Servlet الوكيل والوصول إلى BusinessWorks عبر هذا الوكيل Servlet.

إذا كانت مهمتك فقط للحصول على إحصائيات على حجم الطلب ، فهناك حل أبسط. يمكنك استخدام معلمة رأس "طول المحتوى" لهذا السبب (http://www.w3.org/protocols/rfc2616/rfc2616-sec14.html).

يشير حقل رأس الكيان بطول المحتوى إلى حجم الجسم والجسم ، في عدد عشري من الثمانيات ، المرسلة إلى المستلم

طول المحتوى هو معلمة إخراج من مستقبل HTTP. قد تحتاج إلى إضافة معلمات "requesturi" و "postdata" و "Header" لأنها ليست جزءًا من هيئة الكيان.


تحديث: postdata هو جزء من الجسم والجسم ، وبالتالي يتم تضمين حجمه في طول المحتوى

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