2012-02-22 2 views
1

私はリモートのPHP Webサイトにデータを送信しようとしています。私はHTTP POSTを使ってセッションでデータを送信したいと思います。つまり、私のウェブサイトはC#/ ASP.NETで構築されています。このリモートPHP WebサイトにPOST経由でデータを送信する方法がわかりません。 (また、私が送信しようとしているPOSTデータには、ファイルアップローダとチェックボックスも含まれています)。http postメソッドを使用してC#でPHP Webサイトにデータを投稿しています

C#/ ASP.NETからリモートWebサイトにPOSTデータをPOSTする方法はありますか?私はあなたがこのためにHttpWebRequestを使用することができます {

string LiveUrl = "TestURL"; 

    string resume = Server.MapPath("Doc1.docx"); 
    string boundary = Guid.NewGuid().ToString(); 
    HttpWebRequest request = HttpWebRequest.Create(LiveUrl) 
     as HttpWebRequest; 
    CookieContainer cookies = new CookieContainer(); 
    request.PreAuthenticate = true; 

    request.CookieContainer = cookies; 
    request.Method = "POST"; 
    request.ContentType = string.Format("multipart/form-data; boundary={0}", boundary); 
    // request.PreAuthenticate = true; 
    StringBuilder sb = new StringBuilder(); 


    sb.AppendFormat("--{0}", boundary); 
    sb.AppendFormat("\r\n"); 
    sb.AppendFormat("Content-Disposition: form-data; name=\"CandidateRegisterFirstName\""); 
    sb.AppendFormat("\r\n"); 
    sb.AppendFormat("\r\n"); 
    sb.AppendFormat("Gary"); 
    sb.AppendFormat("\r\n"); 


    sb.AppendFormat("--{0}", boundary); 
    sb.AppendFormat("\r\n"); 
    sb.AppendFormat("Content-Disposition: form-data; name=\"CandidateRegisterLastName\""); 
    sb.AppendFormat("\r\n"); 
    sb.AppendFormat("\r\n"); 
    sb.AppendFormat("five"); 
    sb.AppendFormat("\r\n"); 

    sb.AppendFormat("--{0}", boundary); 
    sb.AppendFormat("\r\n"); 
    sb.AppendFormat("Content-Disposition: form-data; name=\"CandidateRegisterEmailAddress\""); 
    sb.AppendFormat("\r\n"); 
    sb.AppendFormat("\r\n"); 
    sb.AppendFormat("[email protected]"); 
    sb.AppendFormat("\r\n"); 

    Session["checked"] = true; 

    sb.AppendFormat("--{0}", boundary); 
    sb.AppendFormat("\r\n"); 
    sb.AppendFormat("Content-Disposition: form-data; name=\"CandidateRegisterPassword\""); 
    sb.AppendFormat("\r\n"); 
    sb.AppendFormat("\r\n"); 
    sb.AppendFormat("12345678"); 
    sb.AppendFormat("\r\n"); 

    sb.AppendFormat("--{0}", boundary); 
    sb.AppendFormat("\r\n"); 
    sb.AppendFormat("Content-Disposition: form-data; name=\"CandidateRegisterPasswordConfirm\""); 
    sb.AppendFormat("\r\n"); 
    sb.AppendFormat("\r\n"); 
    sb.AppendFormat("12345678"); 
    sb.AppendFormat("\r\n"); 

    sb.AppendFormat("--{0}", boundary); 
    sb.AppendFormat("\r\n"); 
    sb.AppendFormat("Content-Disposition: form-data; name=\"CandidateRegisterHomeLocation\""); 
    sb.AppendFormat("\r\n"); 
    sb.AppendFormat("\r\n"); 
    sb.AppendFormat("KA27 8AA"); 
    sb.AppendFormat("\r\n"); 


    sb.AppendFormat("--{0}", boundary); 
    sb.AppendFormat("\r\n"); 
    sb.AppendFormat("Content-Disposition: form-data; name=\"CandidateRegisterReferer\""); 
    sb.AppendFormat("\r\n"); 
    sb.AppendFormat("\r\n"); 
    sb.AppendFormat("64"); 
    sb.AppendFormat("\r\n"); 



    sb.AppendFormat("--{0}", boundary); 
    sb.AppendFormat("\r\n"); 
    sb.AppendFormat("Content-Disposition: form-data; name=\"CandidateRegisterJobAlerts\"; checked=\""+Session["checked"].ToString()+"\""); 
    sb.AppendFormat("\r\n"); 
    sb.AppendFormat("\r\n"); 
    sb.AppendFormat(""); 
    sb.AppendFormat("\r\n"); 

    sb.AppendFormat("--{0}", boundary); 
    sb.AppendFormat("\r\n"); 
    sb.AppendFormat("Content-Disposition: form-data; name=\"CandidateRegisterNewsletterOptions\"; checked=\"" + Session["checked"].ToString() + "\""); 
    sb.AppendFormat("\r\n"); 
    sb.AppendFormat("\r\n"); 
    sb.AppendFormat(""); 
    sb.AppendFormat("\r\n"); 

    sb.AppendFormat("--{0}", boundary); 
    sb.AppendFormat("\r\n"); 
    sb.AppendFormat("Content-Disposition: form-data; name=\"CandidateRegisterAcceptTerms\"; checked=\"" + Session["checked"].ToString() + "\""); 
    sb.AppendFormat("\r\n"); 
    sb.AppendFormat("\r\n"); 
    sb.AppendFormat(""); 
    sb.AppendFormat("\r\n"); 


    sb.AppendFormat("--{0}--", boundary); 
    byte[] fulldata = Encoding.Default.GetBytes(sb.ToString()); 
    request.ContentLength = fulldata.Length; 
    using (Stream sw = request.GetRequestStream()) 
    { 
     sw.Write(fulldata, 0, fulldata.Length); 
    } 
    HttpWebResponse response = request.GetResponse() as HttpWebResponse; 
    using (StreamReader sr = new StreamReader(response.GetResponseStream())) 
    { 

     HttpContext.Current.Response.Write(sr.ReadToEnd()); 

     //cvPostDataSecondTime(); 
    } 
} 
+1

あなたの質問は混乱しています。詳しく教えてください。いくつかのコードはどちらも傷つきません。 –

答えて

1

used--

ます。public void cvPostDataFirstTimeを()持って

私のコード。

関連する問題