C # HttpRequest размещение URL - PullRequest
       23

C # HttpRequest размещение URL

0 голосов
/ 07 апреля 2011

Я пытаюсь получить HttpRequest для публикации этого URL

https://www.iformbuilder.com/exzact/_emptyTable.php?PAGE_ID=1234&TABLE_NAME=table_name_here&USERNAME=yo@yo.com&PASSWORD=What!What!

Я пытался использовать

WebClient rar = new WebClient();
rar.OpenReadAsync(new Uri(@"https://www.iformbuilder.com/exzact/_emptyTable.php?PAGE_ID=1234&TABLE_NAME=table_name_here&USERNAME=yo@yo.com&PASSWORD=What!What!"));

rar.DownloadStringAsync(new Uri(@"https://www.iformbuilder.com/exzact/_emptyTable.php?PAGE_ID=1234&TABLE_NAME=table_name_here&USERNAME=yo@yo.com&PASSWORD=What!What!"));

Предполагается, что мойИнформация на их сайте, но она не принимает.Я слежу за этой документацией.http://getsatisfaction.com/exzact/topics/how_can_we_delete_old_records_not_manually

, и они утверждают, что все, что мне нужно сделать, это вставить правильный URL-адрес в веб-браузер и нажать Enter, и он будет работать.Как бы я сделал этот эквивалент в C #?Любая помощь будет потрясающей!Спасибо!

Ответы [ 5 ]

1 голос
/ 07 апреля 2011

Используйте WebClient.DownloadString вместо DownloadStringAsync. Async указывает асинхронные методы, которые не блокируют текущий поток.

0 голосов
/ 07 апреля 2011
        string uriString = @"https://www.iformbuilder.com/exzact/_emptyTable.php?PAGE_ID=1234&TABLE_NAME=table_name_here&USERNAME=yo@yo.com&PASSWORD=What!What!";
        using (WebClient webClient = new WebClient { Encoding = Encoding.UTF8 })
        {
            try
            {
                string content = webClient.DownloadString(uriString);
                //do stuff with the answer you got back from the site
            }
            catch (Exception exception)
            {
                //handle exceptions
            }
        }
0 голосов
/ 07 апреля 2011

Это не прямой ответ на ваш вопрос, но посмотрите Гамак для ОТДЫХА

0 голосов
/ 07 апреля 2011

Попробуйте использовать классы System.Web, например, так:

        HttpWebRequest req = null;
        HttpWebResponse resp = null;

        try
        {
            req = (HttpWebRequest)HttpWebRequest.Create(url); // enter your url

            req.Method = "post";

            resp = (HttpWebResponse)req.GetResponse();
        }
        catch (Exception)
        {
            throw;
        }

Это пример для метода post, вы можете использовать любой другой метод HTTP, подобный этому.Проверьте документацию .

0 голосов
/ 07 апреля 2011

Попробуйте установить заголовок User-Agent в WebClient, прежде чем отправлять его, чтобы посмотреть, исправит ли это что-то.

rar.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)")

Многие веб-серверы настроены так, чтобы просто игнорировать запросы, если отсутствует заголовок User-Agent.

Впоследствии вы используете HTTPS, поэтому вам также потребуется настроить ServicePointManager.ServerCertificateValidationCallback.

...