View Full Version : گرفتن مقدار یک تکست باکس از سایت به فرم برنامه
Sir-Programmer
چهارشنبه 01 آذر 1391, 11:10 صبح
سلام
دوستان من میخوام مقدار یه تکست باکس (یا لیبل ) رو از یه سایت بگیریم واسه این کار باید چیکار کنم از چه class استفاده کنم مثلاً من (این پیج رو ساختم http://test12341.somee.com) الان میخوام مقدار تکست باکس هارو بگیرم و به تکس باکس های داخل فرم برنامه (ٌWin Application) لطفً جواب بدید مرسی:قلب:
s3rv3r
چهارشنبه 01 آذر 1391, 11:21 صبح
اول با استفاده از HttpWebRequest یه درخواستی ارسال میکنی و در جواب HTML رو میگیری
حالا یه پترن باید بنویسی و مقادرشون رو بگیری
نمونه
<input name="TextBox3" type="text" value="IRAN, ISLAMIC REPUBLIC OF" id="TextBox3" />
پترن
var patternres = "<input name=\"TextBox3\" type=\"text\" value=\"(?<1>[^/\"]*)"
Sir-Programmer
چهارشنبه 01 آذر 1391, 11:23 صبح
مرسی که جواب دادی میشه بگی چطوری باید از این کد استفاده کنم ؟
s3rv3r
چهارشنبه 01 آذر 1391, 11:30 صبح
گفتم که مراحلشو عزیز . ولی همه چیو نباید گفت سرچ کنی بیشتر یاد میگیری :)
HttpWebRequest webRequest;
HttpWebResponse webResponse;
webRequest = (HttpWebRequest)WebRequest.Create("Address Page shoma");
webResponse = (HttpWebResponse)webRequest.GetResponse();
using (Stream strmresponse = webResponse.GetResponseStream())
{
using (StreamReader reader = new StreamReader(strmresponse, Encoding.UTF8))
{
HTML += reader.ReadToEnd();
}
}
var pattern = "<input name=\"TextBox3\" type=\"text\" value=\"(?<1>[^/\"]*)"
var result = Regex.Match(HTML, pattern, RegexOptions.IgnoreCase | RegexOptions.Compiled);
while (result.Success)
{
MessageBox.Show(result.Groups[1].ToString());
result = result.NextMatch();
}
Sir-Programmer
چهارشنبه 01 آذر 1391, 11:30 صبح
این برای گرفتن کد های اچ تی ام اله
using (System.Net.WebClient wc = new System.Net.WebClient()) {
wc.Encoding = System.Text.Encoding.UTF8;
string s = wc.DownloadString("http://test12341.somee.com/");
}
Sir-Programmer
چهارشنبه 01 آذر 1391, 11:32 صبح
آخه تازه کارم داداش راستش 2 روزه دارم سرچ میکنم ;)
samadblaj
چهارشنبه 01 آذر 1391, 11:46 صبح
سلام لطفا اگه میشه در قالب یه پروژه بذارید تا ما هم بهره ببرم...
Sir-Programmer
چهارشنبه 01 آذر 1391, 11:49 صبح
دوست عزیز درسته من تست کردم جواب داد ;)
Sir-Programmer
چهارشنبه 01 آذر 1391, 11:51 صبح
با تشکر از دوست عزیزم s3rv3r (http://barnamenevis.org/member.php?171807-s3rv3r)
مهرداد صفا
چهارشنبه 01 آذر 1391, 15:59 عصر
سلام
با استفاده از کنترل WebBrowser هم میتوانید. به این صورت:
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
MessageBox.Show(webBrowser1.Document.GetElementByI d("TextBox3").GetAttribute("value"));
//یا
MessageBox.Show(webBrowser1.Document.GetElementByI d("TextBox3").OuterText);
}
السلام علی الحسین
و علی علی بن الحسین
و علی الاولاد الحسین
و علی الاصحاب الحسین
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.