httpwebrequest, httpwebresponse не совсем работает - PullRequest
1 голос
/ 10 декабря 2011

У меня есть приложение Windows Form, которое служит для входа на веб-сайт и получения содержимого (HTML-кода) веб-страницы.

Я изменяю свой код из приложения Windows Form, чтобы он работал с .aspx.страница, но у меня проблемы.В приведенной ниже строке (странице) ничего не сохраняется:

private void button1_Click(object sender, EventArgs e)
        {
            string postData = "bla bla bla...";
            CookieContainer tempCookies = new CookieContainer();
            UTF8Encoding encoding = new UTF8Encoding();
            byte[] byteData = encoding.GetBytes(postData);

        HttpWebRequest postReq = (HttpWebRequest)WebRequest.Create("http://bla bla bla...php");
        postReq.Method = "POST";
        postReq.KeepAlive = true;
        postReq.CookieContainer = tempCookies;
        postReq.ContentType = "application/x-www-form-urlencoded";
        postReq.Referer = "http://bla bla bla...php";
        postReq.UserAgent = "Opera/9.80 (Windows NT 6.1; U; en-GB) Presto/2.9.168 Version/11.52";
        postReq.ContentLength = byteData.Length;

        Stream postreqstream = postReq.GetRequestStream();
        postreqstream.Write(byteData, 0, byteData.Length);
        postreqstream.Close();
        HttpWebResponse postresponse = default(HttpWebResponse);

        postresponse = (HttpWebResponse)postReq.GetResponse();
        tempCookies.Add(postresponse.Cookies);
        logincookie = tempCookies;
        StreamReader postreqreader = new StreamReader(postresponse.GetResponseStream());

        string thepage = postreqreader.ReadToEnd();
        TextBox1.Text = thepage;

Приложение формы работает нормально, а .aspx - нет.Понятия не имею почему.Пожалуйста, помогите мне с этим.Спасибо.

1 Ответ

1 голос
/ 10 декабря 2011

Застрелен в темноте, но попробуйте

postReq.Credentials = CredentialCache.DefaultCredentials;

В противном случае вы всегда можете открыть Fiddler или FireBug, чтобы увидеть, как запрос и ответ отправляются взад и вперед.Может быть, вы увидите, что данные, которые вы отправляете вместе с запросом, не соответствуют вашим ожиданиям?

...