تمرير المعلمات إلى الفاصوليا عن بعد
-
19-09-2019 - |
سؤال
أحتاج إلى تمرير المعلمة إلى التحكم عن بعد نص البرنامج النصي الذي يتم تشغيله
java -cp bsh-2.0b4.jar bsh.Remote http://10.0.0.1/beanshell script.bsh p1 p2 p3
يتصل.
هل من الممكن بطريقة أو بأخرى قراءة Params 'p1'، 'p2' و 'p3' من داخل script.bsh
?
PS Params المحلية تمر bsh.args
يعمل بشكل جيد، ولكن لا يمكن استخدامها مع البرمجة النصية عن بعد.
المحلول
أفترض أنك تستخدم الفاصوليا مكتبة. لا توجد طريقة للقيام بذلك، وفقا للمصادر: تستغرق الأداة المساعدة فقط 2 حجما: عنوان URL وسم النص البرنامجي المحلي. حتى أنه لا يدعم العديد من أسماء الملفات النصية، كما تطالب به.
public class Remote
{
public static void main( String args[] ) throws Exception
{
if ( args.length < 2 ) {
System.out.println("usage: Remote URL(http|bsh) file [ file ] ... ");
System.exit(1);
}
String url = args[0];
String text = getFile(args[1]);
int ret = eval( url, text );
System.exit( ret );
}
أيضا يجب أن يكون جانب الخادم يدرك عن الحجج التي تم تمريرها.
الطرق الخاصة بك:
- قم بإنشاء قالب البرنامج النصي، والذي ستحليل فيه الحجج البرنامج النصي وحفظ البرنامج النصي البديل إلى TEMP DIR قبل المرور
bsh.Remote
- قم بإنشاء ملف بعيد، حيث يمكن أن يقوم البرنامج النصي بقراءة الوسائط منه. تحتاج إلى اتصال إضافي مع موقع بعيد لتحميل هذا الملف قبل الاتصال
bsh.Remote
.
لا تنتمي إلى StackOverflow