URL работает из браузера, но возвращает 500 из консольного приложения, используя HttpWebRequest - PullRequest
0 голосов
/ 02 февраля 2011

Попытка достичь URL веб-службы работает (возвращает код состояния 200, как и ожидалось) без проблем с простым GET из браузера, но при выполнении через консольное приложение возвращает код состояния 500? Я подозреваю, что это проблема с прокси или DNS, но не уверен ...

Вот создание запроса из консольного приложения:

// webRequestUrl has been modified
const string webRequestUrl = "http://0.0.0.0/communication/?id={0}&status=70"

var webRequest = WebRequest.Create(string.Format(webRequestUrl, invalidSseLead.LeadId));

try
{
    using (var webResponse = (HttpWebResponse)webRequest.GetResponse())
    {
        if (webResponse != null && webResponse.StatusCode == HttpStatusCode.OK)
        {
            using (var textStream = new StreamWriter("updateQuery.sql", true))
            {
                // Write some text
            }
        }
    }
}
catch (Exception exception)
{
    // Report exception
}

Проверили, генерируется ли URL-адрес запроса, и это нормально, озадачен, почему он работает из браузера, а не из консольного приложения?

Спасибо:)

Ответы [ 2 ]

1 голос
/ 02 февраля 2011

Отклоняет ли сайт программный доступ так, что вам, возможно, придется подделывать свой пользовательский агент, используя следующее?

webRequest.UserAgent = "some normal browser user agent string";
0 голосов
/ 02 февраля 2011

Спасибо за помощь. Оказалось, что проблема была на самом деле с URL, один работал, но генерируемый другой генерировал исключение.

+ 1 для MSMS - мне действительно нужно было скопировать и вставить точный генерируемый URL, а не использовать один с тестовыми данными

Спасибо

...