PDA

View Full Version : سوال: کمک در برنامه ای که به سایتی وصل بشه



kami_63
دوشنبه 16 شهریور 1388, 18:08 عصر
سلا به همه برنامه نویسان عزیز :قلب:
آقا من می خوام یه برنامه بنویسم که به سایتی وصل بشه و یه سری اطلاعاتی بهش به و در قبال یه سری اطلاعاتی که می گیره کاری خاصی رو انجام بده کسی می تونه در این زمینه کمکی داشته باشه

active.expert
دوشنبه 16 شهریور 1388, 18:44 عصر
عزیزم سوالت رو در بخش مربوطه مطرح کن تا جواب بدن

kami_63
سه شنبه 17 شهریور 1388, 18:27 عصر
عزیزم سوالت رو در بخش مربوطه مطرح کن تا جواب بدن


یعنی کدوم بخش؟؟؟؟؟؟

Sajjad.Aghapour
سه شنبه 17 شهریور 1388, 22:27 عصر
با چه زبانی می خواین این کار رو انجام بدید.اگه با دات نت می خواین این کار رو انجام بدید با کلاس HttpWebRequest می تونید این کار رو انجام بدید.برای مثال می تونید با استفاده نمونه کد زیر یک سری اطلاعات رو به یه سایت بفرستید....


string postData = "fname=sajjad" +
"&lname=aghapour";
byte[] data = Encoding.ASCII.GetBytes(postData);
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
req.ContentLength = data.Length;

Stream stream = req.GetRequestStream();
stream.Write(data, 0, data.Length);
stream.Close();

در AJAX هم به همین صورت اطلاعات ارسال میشه....
اگه می خواین اطلاعاتی رو از یک سایت بگیرید هم می تونید با WebClient این کا رو انجام بدید. با نمونه کد زیر این کار رو می تونید انجام بدید....


WebClient client = new WebClient();
StreamReader reader = new StreamReader(client.OpenRead(url));
string str = reader.ReadToEnd();
reader.Close();

Saeed.Masoumi
یک شنبه 29 شهریور 1388, 02:17 صبح
سلام
آقا یک مثال می شه بزنید؟
مثلا می خوایم barnamenevis رو تو google.com سرچ کنیم (یعنی تو textbox مربوط به سرچ عبارت barnamenevis نوشته شه)
میشه برا هیمن یک مثال بزنید؟
ممنون

Sajjad.Aghapour
یک شنبه 29 شهریور 1388, 12:45 عصر
به هر دو روش می تونید این کار رو انجام بدید.....


string url = "http://www.google.com/search?q=" + textBox1.Text;
WebClient client = new WebClient();
StreamReader reader = new StreamReader(client.OpenRead(url));
textBox2.Text = reader.ReadToEnd();

reader.Close();


string url = "http://www.google.com/search?q=" + textBox1.Text;

HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.Method = "GET";
req.ContentType = "application/x-www-form-urlencoded";

HttpWebResponse response = (HttpWebResponse)req.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream());
textBox2.Text = reader.ReadToEnd();
reader.Close();

Saeed.Masoumi
یک شنبه 29 شهریور 1388, 15:02 عصر
سلام
ممنون
ولی یک توضیح کوچیک راجع به مثال دوم می دی؟می شه یک کاری کرد که صفحه باز شه توی IE بعد فیلد سرچ با اون کلمه ای که ما می خوایم (barnamenevis) خود به خود پر شه و نتیجش رو بجای textbox2 توی همون صفحه ببینیم؟

Sajjad.Aghapour
یک شنبه 29 شهریور 1388, 15:19 عصر
کد دوم یک کد اساسی است که WebClient هم بر همین اساس کار میکنه.ابتدا یه درخواست توسط HttpWebRequest به آدرس مورد نظر فرستاده میشه و پاسخ سرور توسط متد GetResponse در یک HttpWebResponse قابل استفاده خواهد بود.....
البته در این مورد دو خط زیر میتونن نادیده گرفته بشن


req.Method = "GET";
req.ContentType = "application/x-www-form-urlencoded";

اما در مورد سوالتون....


string url = "http://www.google.com/search?q=" + textBox1.Text;
System.Diagnostics.Process.Start("iexplore", url);

Saeed.Masoumi
یک شنبه 29 شهریور 1388, 17:03 عصر
ممنون
این درموردسایتهایی که ما می دونیم روند کاریشون چیه مثلا همین گوگل q= قسمتی هست که ما متن سرچمون اونجا قرار می گیره.
حالا فرض کنید ما نمی خوایم از این روش استفاده کنیم یعنی یه جورایی بتونیم کنترل های روی صفحه رو کنترل کنیم مثلا بگیم داخل فیلد سرچ یک متن تایپ شه می خوام دیده شه این متن داخل تکست باکس نوشته می شه این کاری که شما گفتین میاد صفحه سرچ شده رو باز می کنه.می شه صفحه اصلی گوگل رو باز کنه با متن barnamenevis در داخل فیلد سرچ؟
یک جورایی مثه این ربات هایی که مشخصات صفحه رو خود به خود پر میکنن؟اگه میشه یک منبع برای ساخت ربات های وب بدین
باز هم ممنون:قلب:

Sajjad.Aghapour
یک شنبه 29 شهریور 1388, 18:29 عصر
من خودم قصد نوشتن چنین رباتی رو دارم ولی در حال حاظر وقت نوشتنش رو ندارم.ولی اصول کار رو به این شکل تحلیل کردم که:
ربات میاد صفحه رو اسکن میکنه و تگ form رو در اون پیدا میکنه.action فرم صفحه مورد نظر برای url خواهد بود و method اون هم که میشه req.Method .فقط میمونه پارامتر ها که اون هم از طریق تگ های input قابل رویت هست.
اما مشکلی که پیش میاد تصاویر امنیتی در بعضی از این فرم هاست که برای عبور از اون باید یه ocr پیشرفته در اختیار داشته باشی یا بنویسی....

البته نمی دونم با دات نت نوشته شده تا حالا یا نه.ولی شما یه سرچ بکن اگه پیدا کردی لینکش رو اینجا هم بذار....
...
موفق باشی/
...