안녕하세요.
윈도우 응용프로그램에서 WIZ550web-EVB 보드를 컨트롤 하려고 합니다.
dout.cgi 를 사용하던중 WebRequest로 보내는 Body data와 상관없이 0번 Output이 0(ON)으로 동작됩니다.
Body 정보가 제대로 전달되지 않은것 같아서 문의드립니다.
Respone은 0 값을 받고 있습니다.
감사합니다.
아래는 사용한 코드입니다.
public string PostIO()
{
string apiURL = “http://192.168.77.104/dout.cgi”;
// POST 보낼 데이터
string dataParams = string.Format("pin=1&val=0");
// 요청 String -> 요청 Byte 변환
byte[] byteDataParams = UTF8Encoding.UTF8.GetBytes(dataParams);
/////////////////////////////////////////////////////////////////////////////////////
/* POST */
// HttpWebRequest 객체 생성, 설정
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(apiURL);
request.ContentType = "application/x-www-form-urlencoded;";
request.Method = "POST";
request.ContentLength = byteDataParams.Length;
//////////////////////////////////////////////////////////////////////////////////////
using (Stream st = request.GetRequestStream())
{
st.Write(byteDataParams, 0, byteDataParams.Length);
st.Flush();
}
try
{
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
string status = response.StatusCode.ToString();
if (status == "OK")
{
Stream stream = response.GetResponseStream();
string sResultJson = new StreamReader(stream).ReadToEnd().Trim();
return sResultJson;
}
//st.Close();
response.Close();
}
catch (WebException e)
{
var resp = new StreamReader(e.Response.GetResponseStream()).ReadToEnd();
return resp;
}
return null;
}