Microsoft MVP성태의 닷넷 이야기
WebBrowser 공유기 관리 웹 페이지 인증 [링크 복사], [링크+제목 복사],
조회: 16917
글쓴 사람
C#조으다
홈페이지
첨부 파일
 

WebClient wc = new WebClient();
wc.Credentials = new NetworkCredential("id", "pass");

이렇게 하면 됩니다.


byte[] contents = Encoding.ASCII.GetBytes("id:pass");
string authText = Convert.ToBase64String(contents);

string authHeader = "Basic " + authText;

WebClient wc = new WebClient();
wc.Headers.Add("Authorization", authHeader);

이렇게 하면 됩니다.



그런데 위 소스를 WebBrowser 에 적용 시키면

webBrowser1.Navigate("http://주소", string.Empty, null, authHeader);

안되더라구요. 그래서 구글에서 찾은 코드로

webBrowser1.Navigate("http://id:pass@주소");

했더니 됩니다. 궁굼한것은..



byte[] contents = Encoding.ASCII.GetBytes("id:pass");
string authText = Convert.ToBase64String(contents);

string authHeader = "Basic " + authText;

webBrowser1.Navigate("http://주소", string.Empty, null, authHeader);

위 코드는 안되고

webBrowser1.Navigate("http://id:pass@주소");

이 코드는 되는 이유는 뭘까 하는 부분입니다.








[최초 등록일: ]
[최종 수정일: 7/8/2014]


비밀번호

댓글 작성자
 



2014-07-08 12시22분
웹 브라우저에서 한 것은... Authorization 헤더가 없군요. 그냥 Basic... 문자열을 지정했을 뿐.
정성태
2014-07-08 01시45분
[C#조으다] 여기에는 붙여넣기 하다가 잘못해서 빠뜨린것 같네요.
혹시나 싶어서 다시 확인해보니 코드에는 들어가 있는데 안됩니다. ^^
[guest]
2014-07-08 01시48분
그럼, 웹 브라우저를 사용했을 때 Fiddler를 이용해서 오고 가는 네트워크 패킷을 검사해 보세요. 뭔가 다른 점이 있지 않을까요? ^^
정성태

NoWriterDateCnt.TitleFile(s)