题
我有一个相当简单的程序,它接受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的是跟踪和我不想打破跟踪。
在短,我知道问题是什么,但它不是一个可以解决的问题。
不隶属于 StackOverflow