如何采用HTTP POST方式,给对方SP发送一个sequence_id=1234&service_num=22332211的数据呢

解决方案 »

  1.   

    WebClient
    <<.Net网络高级编程>> 这本书里面有讲.
      

  2.   

    byte[] response;WebClient webClient = new WebClient();
    response = webClient.DownloadData(LOGIN_URL);string viewstate = ExtractViewState(
          Encoding.ASCII.GetString(response)
       );string postData = String.Format(
       "__VIEWSTATE={0}&UsernameTextBox={1}&PasswordTextBox={2}&LoginButton=Login",
       viewstate, USERNAME, PASSWORD);webClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
    response = webClient.UploadData(
            LOGIN_URL, "POST", Encoding.ASCII.GetBytes(postData)
        );
    url here:
    http://odetocode.com/Articles/162.aspx
      

  3.   

    or
    private void Button5_Click(object sender, System.EventArgs e)
    {
       // first, request the login form to get the viewstate value
       HttpWebRequest webRequest = WebRequest.Create(LOGIN_URL) as HttpWebRequest;         
       StreamReader responseReader = new StreamReader(
             webRequest.GetResponse().GetResponseStream()
          );
       string responseData = responseReader.ReadToEnd();         
       responseReader.Close();
       
       // extract the viewstate value and build out POST data
       string viewState = ExtractViewState(responseData);       
       string postData = 
             String.Format(
                "__VIEWSTATE={0}&UsernameTextBox={1}&PasswordTextBox={2}&LoginButton=Login",
                viewState, USERNAME, PASSWORD
             );
      
       // have a cookie container ready to receive the forms auth cookie
       CookieContainer cookies = new CookieContainer();   // now post to the login form
       webRequest = WebRequest.Create(LOGIN_URL) as HttpWebRequest;
       webRequest.Method = "POST";
       webRequest.ContentType = "application/x-www-form-urlencoded";
       webRequest.CookieContainer = cookies;        
       
       // write the form values into the request message
       StreamWriter requestWriter = new StreamWriter(webRequest.GetRequestStream());
       requestWriter.Write(postData);
       requestWriter.Close();
       
       // we don't need the contents of the response, just the cookie it issues
       webRequest.GetResponse().Close();
       
       // now we can send out cookie along with a request for the protected page
       webRequest = WebRequest.Create(SECRET_PAGE_URL) as HttpWebRequest;
       webRequest.CookieContainer = cookies;
       responseReader = new StreamReader(webRequest.GetResponse().GetResponseStream());
       
       // and read the response
       responseData = responseReader.ReadToEnd();
       responseReader.Close();
       
       Response.Write(responseData);         
    }