我有一个相当简单的程序,它接受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.
有帮助吗?

解决方案

我觉得奇怪的事情是与饼干发生。事实证明,由于这样我测试的链接,因为它所需的cookie来的工作在我的浏览器,但不是链接。事实证明一些我被人工测试的链路的(当其他链路失败)是生成的cookie。

它稍微令人费解发生了什么事,但简短的回答是,我的浏览器有饼干,程序都没有,保持重定向的饼干并没有解决问题。

潜在的问题是由我测试链路要求要么一个额外的参数或一个cookie或两者的事实引起的。我试图避免这两个在我的测试,因为参数/ cookie的是跟踪和我不想打破跟踪。

在短,我知道问题是什么,但它不是一个可以解决的问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top