2013-03-11 2 views
-1

C# API의 WebClient를 통해 POST 요청을 보내는 데 문제가 있습니다.경계가있는 WebClient를 통해 POST 요청 보내기

POST http://aaa.com/login.php HTTP/1.1 
Host: www.aaa.com 
Connection: keep-alive 
Content-Length: 346 
Cache-Control: max-age=0 
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 
Origin: http://www.aaa.com 
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.152 Safari/537.22 
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryK0J3zdRYpjgldAFy 
Referer: http://www.turbotrafficbooster.com/ 
Accept-Encoding: gzip,deflate,sdch 
Accept-Language: bg-BG,bg;q=0.8 
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.3 
Cookie: PHPSESSID=b703525853495c9257b3f3ec579c937a 

------WebKitFormBoundaryK0J3zdRYpjgldAFy 
Content-Disposition: form-data; name="navaction" 

login 
------WebKitFormBoundaryK0J3zdRYpjgldAFy 
Content-Disposition: form-data; name="UserID" 

test 
------WebKitFormBoundaryK0J3zdRYpjgldAFy 
Content-Disposition: form-data; name="Password" 

test 
------WebKitFormBoundaryK0J3zdRYpjgldAFy-- 

가 나는 등의 사용자 에이전트와 같은 헤더를 어떻게 해야할지,하지만 난 경계에 문제가 : POST 요청입니다. 나는 그 (것)들에게 그것을 어디에 두는 지 모른다.

+0

이 요청을 작성하는 데는 어떤 코드가 사용됩니까? –

+0

'boundary' 헤더 요소를 추가해야 할 필요가 있습니까? 다른 사람의 머리글을 복사하여 붙여 넣기 만 했습니까? 이 게시물을 한번보세요 : http://stackoverflow.com/questions/2305218/what-is-the-boundary-parameter-in-an-http-multi-part-post-request – atconway

+0

Fiddler를 사용하여 동일한 작업 수행 IE의 행동. 양식 데이터가 추적에서 제출되고 형식을 복사하는 방법을 볼 수 있어야합니다. – JamieSee

답변

0

this answer 및 연결 한 spec의보기는 here를보십시오. 예 :

Content-Type: multipart/form-data; boundary=AaB03x 

    --AaB03x 
    Content-Disposition: form-data; name="submit-name" 

    Larry 
    --AaB03x 

WebKitFormBoundaryK0J3zdRYpjgldAFy은 단지 규칙입니다. 원할 경우 MyFoobaredBoundry이 될 수 있습니다. 단, 적절하게 선언하고 종료해야합니다. 서로 다른 브라우저는 서로 다른 문자열을 사용하기 때문에 수신단의 아무 것도 그것 때문에 구별해야합니다.

그러나 이것은 사용자가 직접해야 할 일이 아닙니다 ...