PDA

View Full Version : سوال: سوال در مورد webrequest در سی شارپ



soheilnew
دوشنبه 10 مهر 1396, 20:35 عصر
سلام
میخوام مقداری به سایتی ارسال کنم و نتیجه رو در یه تکست باکس نمایش بدم، بدون اینکه از وب بروزر و لود کردن اون استفاده کنم
با گت المنت به خوبی میشه
اما میخوام از webrequest استفاده کنم اما اطلاعی ندارم
کسی میتونه همراه با مثال یه توضیحی بده
ممنون

vahidwss
دوشنبه 10 مهر 1396, 23:31 عصر
سلام

برای ارسال اطلاعات به سایت دو متد get و post وجود داره:

برای مثال برای فرستادن name=vahidwss به آدرس http://example.com/default.aspx

متد get :

public string getData(string address) {
string html = string.Empty;

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(address);
request.KeepAlive = true;
request.Accept = "*/*";
request.Headers.Add("X-Requested-With", "XMLHttpRequest");
request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36";
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
using (Stream stream = response.GetResponseStream())
using (StreamReader reader = new StreamReader(stream))
{
html = reader.ReadToEnd();
}
return html;

}

textBox1.text=getData("http://example.com/default.aspx?name=vahidwss");

متد post :

public string postData(string address, string post)
{


HttpWebRequest request = (HttpWebRequest)WebRequest.Create(address);

byte[] data = Encoding.ASCII.GetBytes(post);

request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
request.ContentLength = data.Length;
request.KeepAlive = true;
request.Accept = "*/*";
request.Headers.Add("X-Requested-With", "XMLHttpRequest");

request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36";

using (var stream = request.GetRequestStream())
{
stream.Write(data, 0, data.Length);
}


var response = (HttpWebResponse)request.GetResponse();


string responseString = new StreamReader(response.GetResponseStream()).ReadToE nd();


return responseString;
}


[/CSHARP]
textBox1.text=postData("http://example.com/default.aspx","name=vahidwss");

soheilnew
سه شنبه 11 مهر 1396, 10:49 صبح
دوست عزیز ممنون از راهنمایی
برای من به کدهای زیر گیر میده :

using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())


اگه براتون مقدوره چک کنید ممنون میشم

ramtinak
یک شنبه 16 مهر 1396, 21:52 عصر
سلام
به احتمال زیاد فضای نامی System.Net رو به قسمت فضاهای نامی اضافه نکردید
using System.Net;
موفق باشید