Войдите на страницу HTTPS через C # - PullRequest
2 голосов
/ 15 мая 2009

Кажется, я нигде не могу найти это где-то, поэтому мне было интересно, могли бы вы помочь. Я пытаюсь создать скрипт, который автоматически входит в HTTPS-ссылку через C #.

По сути, у меня есть URL-адрес, содержащий отчет, который мне нужно запускать ежедневно, но за HTTPS-именем пользователя и паролем.

Я пытаюсь создать скрипт на C #, который запускается во время X, вход в систему с именем пользователя / паролем? Есть идеи?

Буду любить тебя долго! :) 1007 *

Edit: --- Хорошо, что если я захочу автоматически сохранить файл * .txt в базе данных?

Ответы [ 3 ]

2 голосов
/ 15 мая 2009

Вот пример кода, который я написал, который заходит на сайт для отправки SMS-сообщения:

private void sendMessage(SmsMessage message)
    {
        HttpWebRequest request;
        HttpWebResponse response;
        CookieContainer cookies;
        string url = "http://www.xyzwebsite.com/";

        try
        {
            request = (HttpWebRequest)WebRequest.Create(url);
            request.AllowAutoRedirect = true;
            request.CookieContainer = new CookieContainer();
            response = (HttpWebResponse)request.GetResponse();
            if (response.StatusCode == HttpStatusCode.OK)
            {
                cookies = request.CookieContainer;



                request = (HttpWebRequest)WebRequest.Create(url);
                request.Method = "POST";
                request.ContentType = "application/x-www-form-urlencoded";

                String postData = "emailfrom="+credentials.Username+"&npa="+message.DestinationPhoneNumber.Substring(0,3)+"&exchange="+message.DestinationPhoneNumber.Substring(3,3)+"&number="+message.DestinationPhoneNumber.Substring(6)+"&body="+HttpUtility.UrlEncode(message.MessageText)+"&submitted=1&submit=Send";
                byte[] data = System.Text.ASCIIEncoding.ASCII.GetBytes(postData);
                request.ContentLength = data.Length;
                Stream stream = request.GetRequestStream();
                stream.Write(data, 0, data.Length);

                request.CookieContainer = cookies;

                stream.Close();

                response = (HttpWebResponse)request.GetResponse();

                response.Close();
            }
            else
            {
                Console.WriteLine("Client was unable to connect!");
            }
        }
        catch (System.Exception e)
        {
            throw new SMSDeliveryException("Unable to deliver SMS message because " + e.Message, e);
        }
    }
0 голосов
/ 15 мая 2009

WebClient и NetworkCredential должны решить эту проблему для вас, примеры:

http://www.4guysfromrolla.com/articles/102605-1.aspx

0 голосов
/ 15 мая 2009

Вам просто нужно пройти учетные данные. , , посмотрите на эту статью: http://www.4guysfromrolla.com/articles/102605-1.aspx

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