0

我有一个相当简单的程序,它接受一个 URL 并吐出它重定向到的第一个位置。无论如何,我一直在一些链接上对其进行测试,并注意到在一些 url 上出现 400 个错误。我尝试通过将其粘贴到我的浏览器中来测试这些 url,并且效果很好。

    static string getLoc(string curLoc, out string StatusDescription, int timeoutmillseconds)
    {
        HttpWebRequest x = (HttpWebRequest)WebRequest.Create(curLoc);            
        x.UserAgent = "Opera/9.52 (Windows NT 6.0; U; en)";
        x.Timeout = timeoutmillseconds;            
        x.AllowAutoRedirect = false;
        HttpWebResponse y = null;
        try
        {
            y = (HttpWebResponse)x.GetResponse(); //At this point it throws a 400 bad request exception.
4

1 回答 1

0

我认为饼干正在发生一些奇怪的事情。事实证明,由于我测试链接的方式,它工作所需的 cookie 在我的浏览器中,但不在链接中。事实证明,我手动测试的一些链接(当其他链接失败时)正在生成 cookie。

发生的事情有点令人费解,但简短的回答是我的浏览器有 cookie,程序没有,在重定向之间维护 cookie 并没有解决问题。

根本问题是由于我正在测试的链接需要额外参数或 cookie 或两者兼而有之。我试图在我的测试中避免这两种情况,因为参数/cookie 用于跟踪并且我不想中断跟踪。

简而言之,我知道问题是什么,但这不是一个可以解决的问题。

于 2009-03-13T17:35:48.100 回答