2012-10-30 49 views
0

是否可以通过Windows手机中的https下载文件,使用用户名和密码发布方法,我试过这段代码,但它返回一个错误。 请注意,urlLink是一个“https://”链接。通过Windows Phone上的HTTPS下载文件

Uri uri = new Uri(urlLink); 
     HttpWebRequest r = (HttpWebRequest)WebRequest.Create(uri); 
     r.ContentType = "application/x-www-form-urlencoded"; 
     r.Method = "POST"; 
     string parameters = "username=admin&password=123"; 
     r.BeginGetRequestStream(delegate(IAsyncResult req) 
     { 
      var outStream = r.EndGetRequestStream(req); 

      using (StreamWriter w = new StreamWriter(outStream)) 
       w.Write(parameters); 

      r.BeginGetResponse(delegate(IAsyncResult result) 
      { 
       try 
       { 
        HttpWebResponse response = (HttpWebResponse)r.EndGetResponse(result); 

        using (var stream = response.GetResponseStream()) 
        { 
         using (StreamReader reader = new StreamReader(stream)) 
         { 

         } 
        } 
       } 
       catch (Exception exc) 
       { 
        string ee = exc.Message; 

       } 
      }, null); 
     }, null); 

错误:

远程服务器返回一个错误:NOTFOUND。

+0

浏览器在浏览到“urlLink”时会说什么? –

+0

此链接使用POST方法,因此它不能在浏览器上工作,但我确信链接正常工作。 – Reham

回答

0

因为这是一个https(使用SSL),手机需要服务器的证书下载和安装之前,允许任何访问。

编辑:添加我对此答案的评论,并删除评论。

以下是关于主题http://msdn.microsoft.com/en-us/library/ms731899.aspx

如果证书是自签名的,您可以下载并使用模拟器安装MSDN文档的链接,只要你有证书上传到某个地方,你可以从这里下载。请注意,每次启动模拟器时都需要安装证书(不是每次应用程序调试都启动时)。

+0

所以我不能在模拟器上测试它吗? 你可以给我更多的信息或链接,这将有助于我使用证书.. – Reham