2011-09-18 3 views
0

.aspx로 끝나는 URL에서 이미지를 다운로드하려면 Visual C# 프로그램을 가져 오려고합니다. 이 이미지는 실제로 captcha 코드이며 시간이 지나면 바뀝니다.aspx URL에서 이미지 검색

지금까지 시도한 것은 PictureBox를 만들고 ImageLocation을 이미지를 반환하는 ASPX URL로 설정 한 것입니다.

그러나 이것은 captcha 이미지가 나타나야하는 빨간색 상자 X 만 제공합니다.

입력해야하는 코드가 있습니까? 이해가 부족한 점 죄송합니다. 저는 C# 비즈니스의 초보자입니다!

도움 주셔서 감사합니다.

+0

누군가 삭제 했습니까? 대답이 여기에 있었지만 지금은 그렇지 않습니다! :) – ryanswj

답변

2

유효한 이미지를 얻을 수없는 경우

using (WebClient webclient = new WebClient()) 
{ 
    using (var imageStream = webclient.OpenRead("http://example.com/image.png")) 
    { 
     Image img = Image.FromStream(imageStream);     
    } 
} 

, 당신은 다음 var str = webclient.DownloadString("http://example.com/image.png");을 시도하고 있는지 확인하기 위해 str 변수를 검사 할 수 있습니다 유효한 이미지를 얻을 여부를 알 수동으로 이미지를 다운로드하려고 할 수 있습니다 이미지 대신 웹 서버에서 오류 텍스트 데이터를 가져옵니다.

+0

왜 ImageLocation을 aspx 페이지 대신 이미지의 URL로 설정하지 않습니까? – slugster

+0

안녕하세요! 신속한 답변을 보내 주셔서 감사합니다. 보안 문자에 대한 URL을 삽입하면 Visual Studio에서 WebException이 처리되지 않았다는 예외를 throw합니다. - 기본 연결이 닫혔습니다. – ryanswj

+0

@slugster, 어떻게 든 winforms에 대해 생각하고 URL 설정을 잘해야하지만 진단을 위해 위의 코드를 사용하여 이미지를 다운로드 할 수 있는지 확인할 수 있습니다. –

0

이 질문에 답변하는 데 도움을 주신 모든 분들께 감사드립니다.

유효한 사용자 에이전트가있는 클라이언트 만 호스팅하는 사이트에 액세스 할 수있는 다소 까다로운 서버를 다루고있었습니다. 추가 중 :

webclient.Headers["User-Agent"] = "Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.0; SV1; .NET CLR 3.0.4506.2152; .NET CLR 3.0.30618)2011-09-18 00:09:44"; 

이 문제를 해결했습니다.

감사합니다.

관련 문제