الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيفية التعامل مع حزمة محاكي المستعرض prowser.jar

بدأه rohaili في 9 يونيو 2011 · 13 رد · 805 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

أشار علي المشرف علاء الصالحي باستخدام حزمة لتحاكي المستعرض في موضوع سابق http://www.arabteam2...howtopic=243063

وقد بدأت فعلا في استخدامها وأريد اتقان التعامل مع هذه الحزمة لذلك رأيت أن أكتب موضوع جديدا باسم هذه الحزمة بدلا من الاستمرار في الموضوع السابق

رابط المشروع prowser

http://prowser.sourceforge.net/

أولا : تعريف المتغيرات التالية


Prowser prowser = new Prowser();
Tab tab = prowser.createTab();
Request request;
Response response;

ثانيا : كتبت الامران التاليان

الامر الاول يستعرض صفحة الدخول للفريق العربي للبرمجة

الامر الثاني يمرر اسم المستخدم وكلمة المرور للموقع (لم استطع اكمال هذا الامر)


@Action
public void browse() {
try {
//الرابط التالي هو صفحة الدخول للفريق العربي
request = new Request("/index.php?app=core&module=global§ion=login");

//طلب الصفحة
response = tab.go(request);

//عرض مصدر الصفحة في المربع النصي
String html = response.getPageSource();
ta.setText(html);

} catch (URISyntaxException ex) {
Logger.getLogger(ProwserView.class.getName()).log(Level.SEVERE, null, ex);
}
}

@Action
public void enter() {
//كيف امرر اسم المستخدم وكلمة المرور واضغط على زر الدخول
request.setHttpMethod("POST");
request.addParameter("username", "myusername");
request.addParameter("password", "mypassword");

response = tab.go(request);

String html = response.getPageSource();
ta.setText(html);
}

النموذج الخاص بالدخول على الفريق العربي من مصدر صفحة الدخول هو


/index.php?app=core&module=global§ion=login

<form action="/index.php?app=core&
module=global&section=login&do=process" method="post" id='login'>

<label for='username'>اسم الدخول أو البريد الإلكتروني: </label>
<input id='username' type='text' name='username' />

<label for='password'>كلمة المرور:</label>
<input id='password' type='password' name='password' />

<input type='submit' class='input_submit' value='دخول' /> او
</form>

post-63809-029577200 1307609738_thumb.jp

ذكر في الصفحة التالية أنه يمكن استخدام الحزمة للدخول على البنوك مثلا ولكني لم اعرف اطبق ذلك ، مع التوجيه للصفحة التالية http://prowser.sourc...t(java.io.File)

To submit a web form and retrieve the resulting page (e.g., logging into your bank account), you can use the pertinent methods to configure a Request object with the proper URL, HTTP method (e.g., POST) and form field values. However, you also have the option of specifying the request's configuration in a request file, which can be set up once and used repeatedly without having to configure the request programmatically. See this Request constructor for more information.

مرفق المشروع بهيئة netbeans

والحزمة prowser

prowser.zip

prowser-0.2.0.zip

المرفقات
1.jpg

تم تعديل هذه المشاركة بواسطة rohaili في 9 يونيو 2011 في 12:01

300_130.gif

#2

بالمناسبة أخي خذ بالك أن الحزمة شبه ميتة تقريباً

كما أن إصدارتها تحت الواحد معنى هذا أنها غير مستقرة بالمرة

أفضل لو بحثت عن واحدة أخرى

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#3

جزاك الله خيرا

لقد وجدت الحزمة التالية

http://jwebunit.sourceforge.net/

وإن شاء الله تكون حية وتفي بالغرض

300_130.gif

#4

أخي هذه الحزمة تستخدم لفحص مواقع الإنترنت

ولا أعلم إن كانت تفي بغرضك

على كل تأكد منها وانظر ما الذي ستحصل عليه

انظر هنا

http://jwebunit.sourceforge.net/project-info.html

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#5

كتبت الاوامر التالية للدخول على موقع الفريق العربي للبرمجة

والضغط على رابط لغة java لكن لم تفلح محاولاتي


@Action
public void enter() {
WebTester wt = new WebTester();
wt.setBaseUrl("/");
//wt.beginAt("");
wt.assertLinkPresentWithText("لغة JAVA");
wt.clickLinkWithText("لغة JAVA");
ta.setText(wt.getPageSource());
}

مرفق المشروع بهيئة netbeans بدون مكتبات

jwebd.zip

تم تعديل هذه المشاركة بواسطة rohaili في 12 يونيو 2011 في 06:41

300_130.gif

#6

أخي هذه الحزمة ليست للتشغيل وإنما للفحص

وتعتمد بشكل أساسي على Junit بالتالي فهي تتبع لأسلوب Junit

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#7

جزاك الله خيرا

هل يمكن ان تدلني على حزمة معينة

أم ابدأ java.net.URLConnection

كما اقترح هويدي حيث اني بدأت بها لكن لم اعرف كيف اكمل الطريق كما في الموضوع التالي

/index.php?showtopic=243063

أم ابدأ بتعلم httpclient

انا في حيرة من امري ولا ادري كيف ابدأ

تم تعديل هذه المشاركة بواسطة rohaili في 13 يونيو 2011 في 11:03

300_130.gif

#8

هل جربت البحث في sourceforge ؟

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#9

أجريت بحث بسيط هناك

وجدت هذه الحزمة

http://sourceforge.net/projects/htmlunit/

سأحاول أن أجربها في أقرب وقت إن شاء الله

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#10

جزاك الله خيرا

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

!

ولقد وجدت الصفحة التالية

http://stackoverflow.com/questions/2793150/how-to-use-java-net-urlconnection-to-fire-and-handle-http-requests

وجربت

الاوامر الخاصة بالمحافظة على الجلسة وقد نجحت بفضل الله وها هي

الاوامر


String url = "[url=""][/url]";

URLConnection
connection;

connection = new
URL(url).openConnection();

List<String> cookies =
connection.getHeaderFields().get("Set-Cookie");



connection = new
URL(url).openConnection();

connection.setDoOutput(true);

for (String cookie : cookies)
{

connection.addRequestProperty("Cookie", cookie.split(";",
2)[0]);

}



result.setText(cookies.get(0));

واحاول الان اضافة بعض المتغيرات مثل اسم المستخدم وكلمة المرور للدخول على موقع

الفريق العربي للبرمجة

مرفق المشروع

JavaNetURLConnection.zip

300_130.gif

#11

صدقاً أنا سمعت بأمر هذه الحزمة من صديق

لكني لا أعلم تفاصيل أكثر عنها

على كل أظن أن اقتراح الأخ هويدي سيكون أكثر راحة لك

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#12

بعد مراجعة صديقي عن اسم الحزمة

أخبرني أنها HTMLUnit

لو كنت مهتم بالموضوعblush.gif

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#13

جزاك الله خيرا

الموضوع مهم جدا بالنسبة لي ولكني شغلت بمشروع آخر وسأعود قريبا إن شاء الله لهذه المكتبة لتجربتها

وجزاك الله خيرا على إهتمامك

300_130.gif

#14

في انتظار عودتك

أنت تعرف العنوان :)

وأشركنا في ما تصل إليه

تحياتي

تم تعديل هذه المشاركة بواسطة علاء الصالحي في 11 يوليو 2011 في 05:35

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…