تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] إرسال طلب مع كوكيز على شكل نص
#1
Question 
السلام عليكم
كيف الحال يا أعضاء منتدانا الحبيب ؟ إن شاء الله بخير
سؤالي هو
مثلا لدي هذا الطلب
PHP كود :
Hostgame.desert-operations.ae
User
-AgentMozilla/5.0 (Windows NT 5.1rv:29.0Gecko/20100101 Firefox/29.0
Accept
text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://game.desert-operations.ae/world2/bank.php
Cookie: infopanel_tab_quest=up; infopanel_tab_friends=down; infopanel_tab_notes=down; infopanel_tab_support=down; infopanel_tab_help=down; infopanel_tab_reports=down; applesc=2-224992-1401302090; applesd=2-224992-1401302090; __utma=19619244111.1378405601.1400151214.1401260600.1401274670.23; __utmz=196192441.141101180690.21.2.utmcsr=game.desert-operations.ae|utmccn=(referral)|utmcmd=referral|utmcct=/world2/index.php; thisUsersLandId=22411992; thisUsersHash=541159fbb40ff14539ceb688986e649b8d; PHPSESSID=8864fbae539a6b9f11e6f33f0f6acd2e64; __.popunder=1; __.popunderCap11=1; apples=2-22491192-1401302090; applesd=2-224992-1401302090; applesc=2-22499112-1401302090
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 63 
هذا فقط مثال و الكوكيز ليس حقيقي
لكن لنفترض أنه حقيقي
كيف يمكنني إرساله مع طلب HttpRequest ؟
هناك إضافة في الفايرفوكس إسمها HttpRequester
و هي تقوم بإرسال الطلبات و بإستعمال الكوكيز وهو علي شكل نص
إي في حالتنا
PHP كود :
infopanel_tab_quest=upinfopanel_tab_friends=downinfopanel_tab_notes=downinfopanel_tab_support=downinfopanel_tab_help=downinfopanel_tab_reports=downapplesc=2-224992-1401302090applesd=2-224992-1401302090__utma=19619244111.1378405601.1400151214.1401260600.1401274670.23__utmz=196192441.141101180690.21.2.utmcsr=game.desert-operations.ae|utmccn=(referral)|utmcmd=referral|utmcct=/world2/index.phpthisUsersLandId=22411992thisUsersHash=541159fbb40ff14539ceb688986e649b8dPHPSESSID=8864fbae539a6b9f11e6f33f0f6acd2e64__.popunder=1__.popunderCap11=1apples=2-22491192-1401302090applesd=2-224992-1401302090applesc=2-22499112-1401302090 
فما هو الكود الممكن إستخدامه ؟ لقد بحثت في المنتديات الأجنبية لكنني لم أجد ردودا وافية
حتى في MSDN
كل الود Heart
منقطع .. للدراسة Confused
الرد }}}}
تم الشكر بواسطة:
#2
حاولت هذا الكود
لكن لم يفلح
PHP كود :
CookieContainer gaCookies = new CookieContainer();
            
Uri target = new Uri("http://game.desert-operations.ae/");

            
gaCookies.Add(new Cookie("applesc""2-224992-1401183582") { Domain target.Host });
            
gaCookies.Add(new Cookie("applesd""2-224992-1401183582") { Domain target.Host });
            
gaCookies.Add(new Cookie("__utma""196192441.416412189.140111183361.140118113361.1401183361.1") { Domain target.Host });
            
gaCookies.Add(new Cookie("__utmb""196192441.3.10.1401183361") { Domain target.Host });
            
gaCookies.Add(new Cookie("__utmc""19611192441") { Domain target.Host });
            
gaCookies.Add(new Cookie("__utmz""196192441.140118336111.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)") { Domain target.Host });
            
gaCookies.Add(new Cookie("PHPSESSID""46f16588921fe4e2bff85b391ca211504e") { Domain target.Host });
            
gaCookies.Add(new Cookie("thisUsersLandId""22411992") { Domain target.Host });
            
gaCookies.Add(new Cookie("thisUsersHash""fed3fd7f71623df0a6e4daec2753112086") { Domain target.Host });
            
gaCookies.Add(new Cookie("applesc""2-22499112-140118113582") { Domain target.Host });
            
gaCookies.Add(new Cookie("applesd""2-22499112-1401183582") { Domain target.Host });
            
gaCookies.Add(new Cookie("apples""2-22499112-140118311582") { Domain target.Host });
            
            
Requset1.CookieContainer gaCookies
منقطع .. للدراسة Confused
الرد }}}}
تم الشكر بواسطة:
#3
^
الكود يبين عليه صحيح ، لا اعلم وين مشكلته لان ماعندي فيجوال ستوديو الحين هههه ، جهازي خراب Confused



المهم ، انت طولت الموضوع في الاصل ، فمادام عندك نص الكوكيز تقدر تستعمل الHeader مباشرة دون الحاجة الContainer .


لان في الاصل ، الكوكيز هو عبارة عن نص (String) ، ولكن مايكروسوفت العزيزة Big Grin اخترعت كلاس CookieContainer بغرض تسهيل التعامل وتجميع هذا النص .


لكن قبل ماعطيك الحل ..

اولا نراجع معك مفهوم الطلب الذي سبق وشرحته في الموضوع القديم ...


الطلب هو مفهوم عالي المستوى ، حيث انها تقنية تغلف دوال ال Network sockets او مايسمونه في vb6 با الWinsock < التي تاخذ وقتا طويلا لو قررنا التعامل معها مباشرا ...


والطلب الكامل(اي مع رده) يتكون من 3 اشياء او 4 (اذا كان الطلب POST)
1- Request Headers
2- Response Headers
3- (Post Data (POST Only
4- Response Data



دائما مايرتبط الطلب بالرد ، لأن بديهيا، لافائدة من طلب دون ان يكون هناك استجابة من الطرف الاخر او لنقل (Response)او رد بالاحرى

يعني لو قلنا تبي تتعشى بيتزا ورحت للمطعم تطلب ، لكن العامل مشغول وما عطاك وجه ، اذن لا توجد استجابة لطلبكBig Grin




المهم نكمل ... ^_^

من حيث انها تقنية عالية المستوى يعني انها وفرت مرونة عالية في التعامل معها ، حيث ان معمارية الطلب + الرد ، تتكون بشكل عام حسب الشكل التالي :-





كما ترى السهم الاخضر ، فأن الRequest Headers يوجد به header باسم Cookie < وهي من تقوم باخذ نص الكوكيز لإرساله الى السيرفر .

وكما قلت ان الطلب هي تقنية عالية المرونة ، فأنها وفرت طريقة للوصول الىRequest Headers بكل سهولة بواسطة خاصية Headers


PHP كود :
Requset1.Headers.Add("Cookie""هنا نص الكوكيز"); 



وبالتوفيق في امتحاناتك ...
الرد }}}}
تم الشكر بواسطة: mamas1
#4
الف شكر لك أخي محمد ... شرح روووعة
و بالتوفيق لنا ولك
شكرا لك على التوضيح Smile
منقطع .. للدراسة Confused
الرد }}}}
تم الشكر بواسطة:


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم