【问题标题】:How to make a POST request to the Windows phone 7?如何向 Windows phone 7 发出 POST 请求?
【发布时间】:2011-11-26 20:07:01
【问题描述】:

如何向服务器发送数据以进行身份​​验证?使用当前代码:

WebClient MyWebClient = new WebClient();
        MyWebClient.OpenWriteCompleted += new OpenWriteCompletedEventHandler(MyWebClient_OpenWriteCompleted);
        MyWebClient.Headers["User-Agent"] = "Mozilla/4.0 (compatible; ICS)";
        MyWebClient.OpenWriteAsync(new Uri("http://myserver.com/login"), "POST", "email=myemail@server.com&pass=mypassword");


    void MyWebClient_OpenWriteCompleted(object sender, OpenWriteCompletedEventArgs e)
    {
        throw new NotImplementedException();
    }

在这段代码之后,如果程序嗅探器(HttpAnalyzer)查看 Headers 和 Response Content,则在 Response Content 中将写入:Request is not completed. waiting ...,而 Response Headers 将为空... 如何发起 Post 请求?

【问题讨论】:

标签: c# windows-phone-7 httpwebrequest http-post


【解决方案1】:

根据doc,实际上是在你关闭OpenWriteCompleted事件参数中传递给你的流时发送内容。

由于您没有正确关闭流,因此它不会发送任何内容。

【讨论】:

  • 您能否举例说明如何正确关闭流?
  • 您使用 steam.Close() 关闭流。 MSDN 文档是您的朋友。
【解决方案2】:
//Making a POST request using WebClient.


Function()
{    
  WebClient wc = new WebClient();

  var URI = new Uri("http://your_uri_goes_here");

//如果需要任何编码。

  wc.Headers["Content-Type"] = "application/x-www-form-urlencoded";

//或任何其他编码类型。

//如果需要任何密钥

  wc.Headers["KEY"] = "Your_Key_Goes_Here";

 wc.UploadStringCompleted += new UploadStringCompletedEventHandler(wc_UploadStringCompleted);

 wc.UploadStringAsync(URI,"POST","Data_To_Be_sent");    

}

void wc__UploadStringCompleted(object sender, UploadStringCompletedEventArgs e)

{  

  try            
  {          
     MessageBox.Show(e.Result); 

//e.result 为您获取针对您的 POST 请求的响应。

 }

  catch(Exception exc)         
  {             
     MessageBox.Show(exc.ToString());            
  }

}

【讨论】:

  • wc_cart_session.UploadStringAsync(URI,"POST","Data_To_Be_sent");这一行给出了一个错误。你确定它不应该是:wc.UploadStringAsync(URI,"POST","Data_To_Be_sent");
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-29
  • 1970-01-01
  • 2021-10-26
相关资源
最近更新 更多