2012-10-30 116 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