2014-06-18 1 views
1

특히 Steam 환경에서이 문제가 발생하는 이유를 이해하는 데 어려움이 있습니다.정상 세션에서 HTTP GET 요청이 작동하지만 '시크릿'세션이 아님

this URL로 이동하여 Steam에 로그인하면 요청이 정상적으로 처리되고 예상 한 결과가 나타납니다. 그러나 시크릿 세션에서 요청을 시도하면 빈 결과 집합이 표시됩니다. the code that Steam itself uses to send this request (ctrl-f '// Load'를 통해 살펴보고 관련 코드로 이동해야합니다.) 이 요청에서 식별 정보가 전달되는 것 같지 않으며 시크릿 모드에서도 Steam은 항목의 가격 내역 차트를 계속로드합니다. 페이지 자체가 여전히 동일한 요청을 사용하여 가격 내역을 표시하더라도 사용자가 Steam에 로그인하지 않은 세션에서 요청이 작동하지 않는 이유를 이해할 수 없습니다.

답변

2

밸브의 서버에서 발생하기 때문에, 이것은 무엇이 일어나고 있는지에 대한 교육받은 추측 일뿐입니다.

당신이 로그인되지 않고,이 URL을 방문

, 서버가 400 Bad Request

을 다시 보내는 것은 이것이 steamLogin 쿠키의 부족으로 인해 나타납니다. 요청이 성공하면 당신이 로그인하지 않고 URL을 방문 할 때,이 쿠키는 로그인 후

timezoneOffset 
Steam_Language 
community_game_list_scroll_size 
recentlyVisitedAppHubs 
sessionid 
steamCC_<IP_OF_COMPUTER> 

을 설정,의 steamLogin 쿠키도 존재한다.

원하는 정보를 얻으려면이 쿠키가 필요합니다.

+0

이렇게하면 문제를 설명 할 수 있지만 항목 페이지를로드 할 때 (예 : [이 항목의 페이지] (http://steamcommunity.com/market/listings/730)/XM1014 % 20 % 7C % 20Grassland % 20 % 28Field-Tested % 29 /)), 시장 내역 차트가 정상적으로로드되어 쿼리가 통과되었음을 의미합니다. 나는이 정면에서 좀 더 파고들 것이다. 좋은 리드 같다. – user3751808

+0

안녕하세요, 관심있는 사람 (예 :이 사람을 찾은 Google 직원)을위한 후속 조치 : 쿠키를 설정하면 steamLogin이 요청을 올바르게 되돌려 받았습니다. 당신의 도움을 주셔서 감사합니다! – user3751808

0

그래프에 대한 데이터가 괄호 안에 html 파일로 전달되기 때문에 참고할 수 없습니다 (너무 낮습니다). 참고로 항목 세부 정보 페이지는 작동합니다. DOM 환경을 설정하고, 로그인 할 필요없이 html을로드하고 긁어 낼 수 있습니다.

다른 포스터에서 언급했듯이 사용하려는 api 호출에는 steamLogin 쿠키가 필요합니다.

관련 문제