본문 바로가기

언어/C#

C#에서 HTTP POST로 JSON 데이터 보내는 방법

출처: http://blog.83rpm.com/archives/1445


회사 업무 중 HTTP POST로 Request Body에 JSON을 넣어서 보내야 할 일이 있어서 간단하게 짜본 WinForm 프로그램이다.

이런 코드들을 간단하면서도 막상 필요할 때 찾아서 쓰기가 귀찮아서 찾아보기 쉽게 여기에 적어둔다.

  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.IO;
  7. using System.Linq;
  8. using System.Net;
  9. using System.Text;
  10. using System.Threading.Tasks;
  11. using System.Windows.Forms;
  12. namespace WindowsFormsApplication1
  13. {
  14. public partial class Form1 : Form
  15. {
  16. public Form1()
  17. {
  18. InitializeComponent();
  19. }
  20. private void button1_Click(object sender, EventArgs e)
  21. {
  22. var httpWebRequest = (HttpWebRequest)WebRequest.Create("http://127.0.0.1:40080/Default.aspx?cmd=2");
  23. httpWebRequest.ContentType = "text/json";
  24. httpWebRequest.Method = "POST";
  25. using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
  26. {
  27. string json = "{"kakao_id":"1","image_url":"http://teste11111.com","public_profile":"Y"}";
  28. streamWriter.Write(json);
  29. streamWriter.Flush();
  30. streamWriter.Close();
  31. var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
  32. using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
  33. {
  34. var result = streamReader.ReadToEnd();
  35. MessageBox.Show(result);
  36. }
  37. }
  38. }
  39. }
  40. }