2010-07-14 7 views
3

WebClient.UploadString의 기능은 무엇입니까?WebClient, UploadString은 무엇을합니까?

나는 그걸로 로그인 할 수 있다고 생각했다. wc.UploadString (@ "http://mysite.com/login", "user = u & pass = p"); 나는 내가 로그인 한 프론트 페이지의 html을 얻을 것이라고 생각했다. 그러나 내가 얻은 것은 내 패스가 틀렸고 바닥에 내 method=post이라는 메모가 없었다.

WebClient.UploadString의 실제 기능은 무엇입니까? WebClient로 어떻게 로그인 할 수 있습니까?

답변

3

here과 같이 로그인하려면 WebClient.UploadValues을 사용해야합니다.

+0

문자열과 문자열의 차이점은 무엇입니까? 배열의 결과를 문자열로 변환하지 않는 것이 좋습니다. x –

+6

UploadValues는 "content-type"헤더를 "application/x-www-form-urlencoded"로 설정하고 UploadString은 내용 유형을 지정하지 않습니다. 이 헤더를 명시 적으로 설정하면 UploadString은 UploadValues처럼 작동합니다. 문자열은 서버에서 key = value 쌍으로 구문 분석됩니다. – Andrei

+0

"UploadString은 무엇을합니까?"라고 설명하는 것이 좋았습니까? – Subby

1

두 번째 매개 변수는 게시물 본문에 데이터를 전달하고 있습니다. 당신은 그것을 쿼리 문자열의 일부가되도록 포맷했습니다. 사용자 이름/암호가 쿼리 문자열에 실제로 전달되면 첫 번째 매개 변수 (url)에 포함되어야합니다. 그렇지 않은 경우 폼 매개 변수로 보내지는 경우 Andrei가 제안한대로 UploadValues를 사용하십시오.

+0

로그인합니다. 나는 그것을 어디에 두어야합니까? 나는이 서버가 게시물에 있어야한다고 생각한다. (포스트 데이터가 쿼리에 포함되면 어떤 서버는 상관 없다) –

+0

POST가 더 좋다. 웹 브라우저를 통해 로그인하고 네트워크 추적을 수행하여 어디에 놓아야하는지 확인하십시오. (Firefox의 경우 HttpFox 플러그인을 사용하여 순 트래픽을 모니터링 할 수 있습니다). –