EXON-Archive-Junior-High/Discord-Profile

401(권한이 없음)

Closed this issue · 27 comments

image
제 코드에 이렇게 10분동안 10000개의 요청을 하나요?
401 오류 (권한이 없음) 로 예외처리가 뜨네요..
혹시 아시는 분은 알려주세요..

dn1t commented

코드를 잘못 짠건 아닐까?

@thoratica 음.. 그래서 예제 복붙했는데요

보통 10000개 이상 하면 509 Bandwidth Limit Exceed로 차단할텐데...
음 아마도 401은 Unauthorizated 인데
이게 아마도 토큰을 넣은 헤더를 잘못 설정한거 같아요

        string url = "https://discord.com/api/v7/users/@me";
        string responseText = string.Empty;

        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
        request.Method = "GET";
        request.Timeout = 30 * 1000;
        request.Headers.Add("authorization", Data.token);

        using (HttpWebResponse resp = (HttpWebResponse)request.GetResponse())
        {
            HttpStatusCode status = resp.StatusCode;
            Console.WriteLine(status);  // 정상이면 "OK"

            Stream respStream = resp.GetResponseStream();
            using (StreamReader sr = new StreamReader(respStream))
            {
                responseText = sr.ReadToEnd();
            }
        }

이 코드에 문제가 있는건가요?
저도 api 는 까먹어가지고 예제 복붙하고 discord api 만 사용 했는데..

request.Headers.Add("authorization", "토큰");

이 부분에 문제가 있는거 같아요

authorization을 Authorization으로 바꿔보세요

보통 10000개 이상 하면 509 Bandwidth Limit Exceed로 차단할텐데...
음 아마도 401은 Unauthorizated 인데
이게 아마도 토큰을 넣은 헤더를 잘못 설정한거 같아요

음 그런가요? Data.token 이 토큰을 저장한 곳인데.. 분명 잘 됬었다가 한 10번 정도 테스트 해보고 그 후부터 코드도 안건드렸는데 이러거든요.

음...

일단 넵 한번 바꿔보겠습니다.

authorization을 Authorization으로 바꿔보세요

똑같이 401 예외처리가 뜨네요 (권한이 없음)

으으음

으으음

코드가 쓰레기네(?)

url을 https://discordapp.com/api/users/@me
로 바꾸고 =

request.Headers.Add("Authorization", "토큰");
request.Headers.Add("User-Agent", "DiscordInfoGrabber v1.0");

이렇게 코드를 바꿔보세요

음 이거도 안되면 저는 잘 모르겠네요

이렇게 코드를 바꿔보세요

오 한번 해볼께요

코드가 쓰레기네(?)

.......이 코드는 예제 코드입니다만?

image
흐음.. 이번엔 다른 예외처리네요
말하신게 이코드가 맞나요?

음 그러면 User-Agent 헤더를 추가하는 코드 (에러 내뱉는 코드) 를 없애보세요

image
흐음 똑같네요

전 일단 가보겠습니다..

지금 코드로도 저는 잘 실행되네요. 아마 IP가 차단된게 아닐까 싶습니다..

아하! 감사합니다. 디스코드 메일로는 1시간만 차단이라는데 왜 아직까지 안풀어지지..

그러면 내일을 기약해야겠군요.
모두 감사합니다!

오 일어나서 해보니까 되네요! 감사합니다. IP 차단이였던거 같네요