HttpWebRequest返回404,但不在原始网站中

时间:2011-08-19 02:08:56

标签: c# jquery ajax httpwebrequest http-status-code-404

我在一个网站(重jQuery-ajax / json)的幕后工作,并能够使用c#WinForms中的HttpWebRequest自动执行登录以及其他一些任务。该过程会执行一些需要参数的帖子,所有这些都是成功的。

问题在于一个特定的请求。下面是我在网站上找到的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来查看发送的内容,但从我看到的内容中我拥有了所有内容。

  • 所有Cookie都已设置,其他请求响应正常。
  • 所有请求都是https,不确定这是否重要。
  • 尝试了不同的用户代理。

1 个答案:

答案 0 :(得分:1)

检查/试验的一些要点:

  • 检查此调用成功时switchurl / index / Cookie xstoken的值是什么
  • 看看引用者是什么并模仿那个
  • 将index和Cookie xstoken的值放入POST正文中 如果没有帮助将这些作为查询字符串进入switchurl

如果所有这些都没有帮助使用Fiddler(请参阅http://www.fiddler2.com/fiddler2/)或Wireshark在成功时捕获实际通信...