문제

나는 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.
도움이 되었습니까?

해결책

쿠키에서 이상한 일이 일어나고 있다고 생각합니다. 링크를 테스트하는 방식으로 인해 작동하는 데 필요한 쿠키는 내 브라우저에 있었지만 링크는 아닙니다. 수동으로 테스트하고 있던 링크 중 일부 (다른 링크가 실패한 경우)가 쿠키를 생성하는 것이 밝혀졌습니다.

그것은 일어난 일이 약간 복잡해졌지만 짧은 대답은 내 브라우저에 쿠키가 있었는데, 프로그램은 그렇지 않았으며, 리디렉션 사이의 쿠키를 유지하면 문제가 해결되지 않았다는 것입니다.

기본 문제는 내가 테스트하는 링크에 추가 매개 변수 또는 쿠키 또는 둘 다를 필요로한다는 사실로 인해 발생합니다. 매개 변수/쿠키가 추적을위한 것이기 때문에 내 테스트에서 두 가지를 피하려고 노력했으며 추적을 중단하고 싶지 않았습니다.

요컨대, 나는 문제가 무엇인지 알고 있지만 해결 가능한 문제는 아닙니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top