그래서 저는 웹 기반의 온라인 게임을하고 C#을 사용하여 특정 작업을 자동화하고 싶습니다. 문제는 내가 실제로 소스를 받기 위해 로그인해야하기 때문에 WebClient.DownloadData()를 단순히 사용할 수 없다는 것입니다. 다른 대안은 내장 웹 브라우저 컨트롤을 사용하는 것이지만 소스 코드에 대한 액세스 권한을 부여하지는 않습니다. 어떤 제안?로그인이 필요한 페이지에서 웹 페이지 소스 코드를 가져 오는 가장 쉬운 방법 - C#
답변
당신은 DownloadData
를 호출하기 전에 Credentials 속성을 사용하여 웹 클라이언트에 로그인 자격 증명을 설정할 수 있습니다
WebClient client = new WebClient();
client.Credentials = new NetworkCredential("username", "password");
편집 : mjmarsh가 지적 하듯이이 단지 시도 - 응답 방법을 사용하는 사이트에 대해 작동합니다 단일 요청의 일부로 인증 (나는 직장에서 이것을 처리하는 데 익숙하다. 나는 다른 유형을 고려하지 않았다!). 사이트에서 폼 인증 (또는 실제로 다른 인증 형식)을 사용하는 경우 인증이 단일 요청의 일부가 아니므로이 방법은 작동하지 않습니다. 처리해야 할 다중 요청이 필요합니다.
모든 경우 NetworkCredentials가 작동하지 않는다고 생각합니다. 이것은 "기본"또는 "협상"인증에서만 작동합니다.
일부로드 테스트를 위해 내부 웹 사이트에서이 작업을 수행했지만 게임을 "게임"하는 것처럼 들립니다. 그런 이유로 나는 세부 사항으로 가지 않을 것이다 그러나 당신이 로그인 단추를 명중 할 때 위치에 로그인은 아마 HTTP POST의 모양으로 행해지고있다.
POST 요청을 트랩하여 코드에 복제하고 구현이 세션 상태를 유지하는지 확인해야합니다. 게임 사이트가 잘 작성된 경우 현재 세션 게임과 관련된 작업을하기 전에 로그인했습니다.
네트워크 자격 증명은 mjmarsh가 이미 지적한대로 작동하지 않습니다.
웹을 스크랩하는 동안 로그인이 필요한 많은 페이지가 나타납니다. 내가 사용하는 접근법 중 하나는 수동으로 사이트에 로그인하는 동안 바이올린을 설치하고 POST 및 GET 패킷을 모니터링하는 것입니다. 이렇게하면 브라우저가 로그인을 에뮬레이트하는 방법을 찾을 수 있습니다. 그런 다음 코드로 동일한 프로세스를 다시 작성해야합니다.
예를 들어, 대부분의 웹 서버는 세션이 인증되었다고 가정하기 위해 쿠키를 사용합니다. 따라서 자격 증명을 사용하여 웹 사이트에 UserName과 Password를 게시하고 쿠키를 기록 할 수 있습니다. 이 쿠키는 웹 사이트의 모든 세부 정보에 액세스하는 데 사용될 수 있습니다.
고급 웹 폐기에 대한 자세한 내용을 확인하려면 다음 링크를 확인하십시오 :
http://krishnan.co.in/blog/post/Web-Scraping-Yahoo-Mail.aspx
을이 블로그에, 당신은 야후 계정으로 인증하고 인증 후 페이지를 읽는 방법을 찾을 수 있습니다.
- 1. 게시 로그인이 필요한 웹 사이트의 소스 가져 오기
- 2. C 코드를 파이썬으로 테스트하는 가장 쉬운 방법
- 3. 외부 URL에서 html 소스 코드를 가져 오는 방법
- 4. PHP 페이지에서 데이터를 유지하는 가장 쉬운 방법
- 5. C#을 사용하여 웹 페이지 소스 코드를 얻는 방법
- 6. 로그인이 필요한 페이지의 file_get_contents
- 7. Visual Studio - 소스 코드로 형식 정의를 가져 오는 쉬운 방법
- 8. 웹 페이지에서 데이터를 가져 오는 중입니까?
- 9. 파일을 배열로 가져 오는 가장 쉬운 방법은 무엇입니까? - C#
- 10. 자바의 웹 페이지에서 제목 텍스트를 가져 오는 방법
- 11. java의 웹 페이지에서 URL을 가져 오는 중
- 12. 웹 페이지에서 데이터를 가져 오는 방법은 무엇입니까?
- 13. 브라우저에서 디렉토리의 절대 경로를 가져 오는 가장 쉬운 방법
- 14. 사용자에게 현재 위치를 가져 오는 가장 쉬운 방법/
- 15. 자바 - 로그인이 필요한 웹 사이트에서 데이터 읽기
- 16. UIWebView에서 XML 소스 코드를 가져 오는 방법은 무엇입니까?
- 17. 웹 페이지에서 가장 빠른 방법 찾기 웹 페이지에서 링크를 따라 오는 B
- 18. 웹 페이지에서 국제 문자를 가져 오는 중입니까?
- 19. 웹 페이지에서 콘텐츠를 가져 오는 방법은 무엇입니까?
- 20. Facebook에서 모든 일정을 가져 오는 방법 페이지
- 21. 웹 페이지에서 데이터 가져 오기
- 22. 페이지에서 소스 코드 가져 오기
- 23. Ruby에서 페이지의 모든 href 내용을 가져 오는 가장 쉬운 방법은 무엇입니까?
- 24. PHP - URL에 쓰여진대로 $ _GET 매개 변수 문자열을 가져 오는 가장 쉬운 방법
- 25. div의 데이터를 페이지 매김하는 가장 쉬운 방법
- 26. C# 참조 된 프로젝트에서 xsd를 가져 오는 가장 좋은 방법
- 27. 외부 웹 사이트 콘텐츠를 가져 오는 가장 좋은 방법
- 28. JRex를 사용하여 페이지 소스 코드를 얻는 방법?
- 29. HttpClient HttpResponse에서 소스 코드를 가져 오는 방법은 무엇입니까? 여기
- 30. 소스 코드를 가져 오는 MFC 응용 프로그램 열기
나는이 같은 질문을 얼마 전에 보았습니다 (http://stackoverflow.com/questions/1927676/scraping-a-facebook-app-for-data). 요약 : 프레임 워크를 사용하십시오. http://watin.sourceforge.net/ 나를위한 승리 솔루션으로 밝혀졌습니다. –