Проблемы с передечей POST C# через HttpWebResponse
По нажатию кнопки отправляется запрос в php-скрипт. Ответ приходит, но массив в $_POST ничего не передается, хотя должно. Что не так?
private void button1_Click(object sender, EventArgs e)
{
string path = "&path=" + richTextBox1.Text;
byte[] data = Encoding.ASCII.GetBytes(path);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://127.0.0.1/Kursach/Kursach.php");
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencodged";
request.ContentLength = data.Length;
using (var stream = request.GetRequestStream())
{
stream.Write(data, 0, data.Length);
stream.Flush();
stream.Close();
}
WebResponse response = request.GetResponse();
var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
richTextBox4.Text = responseString;
}
Ответы (2 шт):
Автор решения: frozencoast
→ Ссылка
Как уже написали в комментариях: избегайте использование устаревших классов и блокировки основного окна:
private async void button1_Click(object sender, EventArgs e)
{
var task = SendForm();
var response = await task;
richTextBox4.Text = response;
}
public async Task<string> SendForm()
{
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("http://127.0.0.1");
var content = new FormUrlEncodedContent(new[]
{
new KeyValuePair<string, string>("path", richTextBox1.Text)
});
var result = await client.PostAsync("/Kursach/Kursach.php", content);
string resultContent = await result.Content.ReadAsStringAsync();
return resultContent;
}
}