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();
}
}
あなたの質問は混乱しています。詳しく教えてください。いくつかのコードはどちらも傷つきません。 –