2013-02-07 70 views
0

我能夠發送第一個請求正常工作,但是我無法得到我的頭爲什麼它停止在第二次獲得Stream os = smsRequest.GetRequestStream()使用WebRequest的多個POST

我知道你不能多次寫入請求,這就是爲什麼每次都創建一個新的實例。

public void SendSMS(Dictionary<double, IList<string>> texts) 
    { 
     if (CreateWebRequest()) 
     { 
      foreach (double mpn in texts.Keys) 
      { 
       foreach (string sms in texts[mpn]) 
       { 
        string formParams = string.Format("sendTo=0{0}&selectText=Please+Select...&textMessage={1}&x=28&y=10", mpn, sms); 
        byte[] encodedParams = Encoding.UTF8.GetBytes(formParams); 

        HttpWebRequest smsRequest = CreateSMSRequest(encodedParams); 

        using (Stream os = smsRequest.GetRequestStream()) 
        { 
         os.Write(encodedParams, 0, encodedParams.Length); 
         os.Close(); 
        } 
       } 
      } 
     } 
    } 


    private HttpWebRequest CreateSMSRequest(byte[] encodedParams) 
    { 
     HttpWebRequest smsRequest = (HttpWebRequest)WebRequest.Create(PostUrl); 
     smsRequest.Method = WebRequestMethods.Http.Post; 
     smsRequest.ContentType = "application/x-www-form-urlencoded"; 
     smsRequest.ContentLength = encodedParams.Length; 
     smsRequest.AllowAutoRedirect = false; 
     smsRequest.Credentials = CredentialCache.DefaultNetworkCredentials; 
     smsRequest.Headers.Add(HttpRequestHeader.Cookie, _cookieData); 

     return smsRequest; 
    } 
+0

你能張貼'CreateSMSRequest()'的代碼? –

+0

更新了問題 –

回答