Размещение данных на сайте php в c # с использованием метода http post - PullRequest
1 голос
/ 22 февраля 2012

Я пытаюсь отправить данные на удаленный сайт PHP.Я хочу отправить данные в сессиях, используя HTTP POST.Дело в том, что мой сайт построен на C # / ASP.NET, и я не знаю, как отправить свои данные через POST на этот удаленный сайт PHP.(Также обратите внимание: данные POST, которые я пытаюсь отправить, также содержат загрузчик файлов и флажок.)

Как я могу POST формировать данные из C # / ASP.NET на удаленный веб-сайт?

мой код, который я использовал -

public void cvPostDataFirstTime () {

    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("steve.102@fivesol.com");
    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 голос
/ 22 февраля 2012

Для этого вы можете использовать HttpWebRequest .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...