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

时间:2014-03-18 11:31:50

标签: c# windows-phone-8

我在静态类(窗口电话)中创建方法:

public  void testSend()
      {
          try
          {
              string url = "";
              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)
          {

          }

我不确定但它在GetRequestStream()和GetResponse上出错,因为它不包含在HttpWebRequest中。请帮助我。

1 个答案:

答案 0 :(得分:0)

您需要使用WebClient或HttpWebRequest。

使用web客户端=>

    public void testSend()
  {
              string url = "";
              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();
              WebClient client = new WebClient();
              client.UploadStringCompleted += client_UploadStringCompleted;
              client.UploadStringAsync(new Uri(url), responseText);

  }

void client_UploadStringCompleted(object sender, UploadStringCompletedEventArgs e)
{
    if (e.Error != null)
    {
        // error in uploading
    }
}