PDA

View Full Version : گرفتن مقدار یک تکست باکس از سایت به فرم برنامه



Sir-Programmer
چهارشنبه 01 آذر 1391, 10:10 صبح
سلام
دوستان من میخوام مقدار یه تکست باکس (یا لیبل ) رو از یه سایت بگیریم واسه این کار باید چیکار کنم از چه class استفاده کنم مثلاً من (این پیج رو ساختم http://test12341.somee.com) الان میخوام مقدار تکست باکس هارو بگیرم و به تکس باکس های داخل فرم برنامه (ٌWin Application) لطفً جواب بدید مرسی:قلب:

s3rv3r
چهارشنبه 01 آذر 1391, 10: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, 10:23 صبح
مرسی که جواب دادی میشه بگی چطوری باید از این کد استفاده کنم ؟

s3rv3r
چهارشنبه 01 آذر 1391, 10: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, 10: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, 10:32 صبح
آخه تازه کارم داداش راستش 2 روزه دارم سرچ میکنم ;)

samadblaj
چهارشنبه 01 آذر 1391, 10:46 صبح
سلام لطفا اگه میشه در قالب یه پروژه بذارید تا ما هم بهره ببرم...

Sir-Programmer
چهارشنبه 01 آذر 1391, 10:49 صبح
دوست عزیز درسته من تست کردم جواب داد ;)

Sir-Programmer
چهارشنبه 01 آذر 1391, 10:51 صبح
با تشکر از دوست عزیزم s3rv3r (http://barnamenevis.org/member.php?171807-s3rv3r)

مهرداد صفا
چهارشنبه 01 آذر 1391, 14: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);
}

السلام علی الحسین
و علی علی بن الحسین
و علی الاولاد الحسین
و علی الاصحاب الحسین