如何在窗口电话中将字符串发送到URL?

时间:2014-03-19 02:33:27

标签: c# windows-phone-8

我在课堂上创建了一个方法(不是在手机应用程序中):

 public  void testSend()
  {
      try
      {
          string url = "abc.com";
          string str = "test";
          HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
          req.Method = "POST";
          string Data = "data=" + str;
          byte[] postBytes = Encoding.UTF8.GetBytes(Data);
          req.ContentType = "application/x-www-form-urlencoded";
          req.ContentLength = postBytes.Length;
          Stream requestStream = req.GetRequestStream();
          requestStream.Write(postBytes, 0, postBytes.Length);
          requestStream.Close();

          HttpWebResponse response = (HttpWebResponse)req.GetResponse();
          Stream resStream = response.GetResponseStream();

          var sr = new StreamReader(response.GetResponseStream());
          string responseText = sr.ReadToEnd();


      }
      catch (WebException)
      {

      }

但它会出现这样的错误: ' System.Net.HttpWebRequest'不包含' GetRequestStream'的定义没有扩展方法' GetRequestStream'接受类型为#System; Net.Net.HttpWebRequest'的第一个参数。可以找到(你错过了使用指令或汇编引用? 我不知道为什么?请帮助我

1 个答案:

答案 0 :(得分:0)

//Create web request for Post Method
public  void testSend()
  {
      try
      {
          string url = "abc.com";
          string str = "test";
          HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
          req.Method = "POST";
          req.ContentType = "application/x-www-form-urlencoded";
          req.BeginGetRequestStream(SendRequest, req);
      }
      catch (WebException)
      {

      }
}

//Get Response and write body
 private void SendRequest(IAsyncResult asyncResult)
        {
          string str = "test";
          string Data = "data=" + str;
          HttpWebRequest req= (HttpWebRequest)asyncResult.AsyncState;
          byte[] postBytes = Encoding.UTF8.GetBytes(Data);
          req.ContentType = "application/x-www-form-urlencoded";
          req.ContentLength = postBytes.Length;
          Stream requestStream = req.GetRequestStream();
          requestStream.Write(postBytes, 0, postBytes.Length);
          requestStream.Close();
          request.BeginGetResponse(SendResponse, req);
        }

//Get Response string
 private void SendResponse(IAsyncResult asyncResult)
        {
            try
            {
                MemoryStream ms;

                HttpWebRequest request = (HttpWebRequest)asyncResult.AsyncState;
                HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(asyncResult);
                HttpWebResponse httpResponse = (HttpWebResponse)response;
                string _responestring = string.Empty;
                using (Stream data = response.GetResponseStream())
                using (var reader = new StreamReader(data))
                {
                    _responestring = reader.ReadToEnd();
                 }
              }
       catch (WebException)
      {

      }
   }