HttpWebRequest возвращает 404, но не на оригинальном сайте - PullRequest
0 голосов
/ 19 августа 2011

Я заглянул за кулисы на сайт (тяжелый jQuery-ajax / json) и смог автоматизировать вход в систему, а также несколько других задач, используя HttpWebRequest в c # WinForms.Процесс делает несколько сообщений, где параметры нужны, все успешно.

Проблема приходит с одним конкретным запросом.Ниже приведен код Ajax, который я нашел на сайте, который вызывает у меня проблему.Я ожидал бы, что это будет работать в моем приложении, но я просто получаю WebException - ошибка 404 Not Found при отправке запроса.

$.ajax({
        type: 'POST',
        url: switchUrl,
        data: {
            index: index,
            xstoken: Cookie.read('xstoken')
        },
        global: false,
        success: function(content) {
            //code refreshes page here.
}

Что заставит сервер вернуть 404, когда я запрашиваю хотя бы мое приложение, но нехоть сам сайт?Возможно, я пропускаю другие параметры?Я использовал Chrome, чтобы посмотреть, что отправлено, но из того, что я вижу, у меня есть все.

  • Все куки установлены, остальные запросы отвечают просто.
  • Все запросыhttps, не уверен, что это имеет значение.
  • Пробовал разные пользовательские агенты.

1 Ответ

1 голос
/ 19 августа 2011

Некоторые пункты для проверки / эксперимента:

  • Проверьте, каково значение switchurl / index / Cookie xstoken, когда этот вызов завершается
  • посмотри что такое реферер и подражай этому
  • поместите значение index и Cookie xstoken в тело POST
    Если это не помогает поместить их в switchurl как строку запроса

ЕСЛИ все, что не помогает, использовать Fiddler (см. http://www.fiddler2.com/fiddler2/) или Wireshark, чтобы зафиксировать фактическое сообщение, когда оно успешно ...

...