سؤال

أنا بحاجة إلى استخدام XmlRpc في C++ على منصة ويندوز.على الرغم من أن أصدقائي أكدت لي أن XmlRpc هو "على نطاق واسع التكنولوجيا القياسية" ، ليس هناك الكثير من المكتبات المتاحة لذلك.في الحقيقة أنا فقط وجدت مكتبة واحدة للقيام بذلك على ويندوز ، (آخر زائد واحد التي تدعي "عليك أن تفعل الكثير من العمل للحصول على هذا أن تجمع على ويندوز).المكتبة وجدت كريس مورلي "XmlRpc++".إلا أنه لا يجب دعم SSL.

سؤالي بالتالي:ماذا مكتبة علي استخدامه ؟

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

المحلول

لقد كتبت بلدي C++ المكتبة.متوفر في سورس:xmlrpcc4win

السبب في أنني كتبت ذلك بدلا من استخدام كريس مورلي أن:

  • نوافذ "wininet.lib" مكتبة يعطيك كل وظيفة للتعامل مع طلبات Http ، لذلك أنا أفضل استخدام.ونتيجة لذلك كنت بحاجة فقط 1700 LOC.
  • "wininet.ليب" ، وبالتالي تنفيذ بلدي, يدعم HTTPS
  • كريس مورلي استخدام الحاويات الخاصة بلبنان كانت غير فعالة (كريس البريد الالكتروني لي إذا كنت تقرأ هذا).

نصائح أخرى

حتى كتبت بلدي مكتبة (انظر أعلاه) هنا كان جوابي:

حاليا ، XmlRpc++ مكتبة كريس مورلي هو الوحيد المجال العام/LPGL XmlRpc تنفيذ C++ على نظام التشغيل ويندوز.

وهناك زوجين من C++ تطبيقات لينكس ، أي من الذي يمكن أن يفترض بسهولة استدار إلى ويندوز ، ولكن الواقع يبدو أن لا أحد لديه حتى الآن وجعلها متاحة للجمهور.كما eczamy يقول: "XML-RPC مواصفات بسيط نوعا ما و لن يكون من الصعب تنفيذ الخاص بك XML-RPC العميل".

أنا باستخدام كريس مورلي مكتبة بنجاح ، على الرغم من أن العثور على وإصلاح عدد كبير من الحشرات.على منتدى مساعدة هذا المشروع يبدو أن تكون نشطة الى حد ما, ولكن لا أحد قد إصلاح هذه الأخطاء يتم إصدار جديد.لقد كنت في المراسلات مع كريس مورلي و لديه غامضة يأمل أن الإصدار الجديد ، وقد ساهم في هذا ستاكوفيرفلوو السؤال (انظر أدناه/أعلاه) و يدعي أن يكون ثابت أكثر من البق ، ولكن حتى الآن انه لم تصدر بيان أن إصلاح العديد من الأخطاء.الإصدار الأخير كان في عام 2003.

ومن المخيب للآمال إلي أنه من المفترض على نطاق واسع بدعم (و بسيطة!) بروتوكول لديه مثل ضعف الدعم على ويندوز + C++.يمكن للشخص الرجاء قراءة هذه الصفحة التقاط العصا و على سبيل المثالالسيطرة على XmlRpc++ أو بشكل صحيح ميناء واحد من تطبيقات لينكس.

هناك العشرات من تطبيقات XML-RPC تطبيقات, بعض في C++, ولكن الأهم في اللغات الأخرى.على سبيل المثال ، إلى جانب XmlRpc++ هناك أيضا XML-RPC على C و C++.هنا HOWTO كيف XML-RPC على C و C++ مكتبة يمكن استخدامها.

XML-RPC مواصفات بسيط نوعا ما و لن يكون من الصعب تنفيذ الخاص بك XML-RPC العميل.ناهيك عن أنه من الممكن أيضا أن تأخذ القائمة على XML-RPC التنفيذ في ج وتقديمهم إلى C++ المشروع.

XML-RPC الصفحة الرئيسية أيضا يوفر الكثير من المعلومات المفيدة.

أردت فقط أن نلاحظ أمرين:

  • مصدر في السير الذاتية مستودع XmlRpc++ لديه دعم بينسل (على الرغم من أنني لم أحاول ذلك ، كان ساهم من قبل مطور آخر).

  • معظم من ذكرت يتم إصلاح الخلل في السير الذاتية;أنا لم يكن لديك الوصول إلى جهاز لينكس في هذه اللحظة, لذلك لم الافراج عن مسؤول.

  • XmlRpc++ ليس المجال العام.فمن حقوق الطبع والنشر مرخصة (LGPL).

شكرا كريس مورلي

وكنت قادرا على الحصول على تيم نسخة xml rpc العمل مع https الأساسية اسم المستخدم / كلمة المرور للمصادقة.

المصادقة:

1) اسم المستخدم وكلمة المرور تحتاج إلى أن تنتقل إلى InternetConnect(...) وظيفة

2) طلب http رأس "إذن:الأساسية base64encoded(user:pass)" يجب أن تضاف قبل إرسال HttpSendRequest(...) الأمر.

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