중화사전망 - 자전 검색 - C# 을 사용하여 http 기반 인터페이스를 개발하는 방법은 무엇입니까? NEt, 매개 변수를 전달하기 위해 post 모드만 지원합니다. 웹 서비스 외에 누가 예를 들어 줄 수 있습니까? 대단히 감사합니다!
C# 을 사용하여 http 기반 인터페이스를 개발하는 방법은 무엇입니까? NEt, 매개 변수를 전달하기 위해 post 모드만 지원합니다. 웹 서비스 외에 누가 예를 들어 줄 수 있습니까? 대단히 감사합니다!
///? & lt 요약>?
///? POST 모드에서 HTTP 요청을 작성하시겠습니까?
///? & lt/요약 > -응?
///? & ltparam? Name = "URL"> 요청의 URL
///? & ltparam? Name = "parameters"> 는 요청과 함께 게시되는 매개변수 이름 및 매개변수 값 사전입니다
///? & ltparam? Name = "timeout"> 요청의 시간 초과
///? & & ltreturns & gt& lt/returns & gt;; -응?
공공? 정전기? 문자열? PostHttpResponse (문자열? 웹사이트 주소,? 사전< 문자열,? 문자열>? 매개 변수,
Int? 시간 초과)
{
시도하다
{
만약? (문자열. IsNullOrEmpty(url))
{
던져? 새 것? Argumentnullexception ("URL");
}
HttpWebRequest? 요청? =? 네트워크 요청. 만들기 (URL)? 로? HttpWebRequest
요청하다. Service point. expect 100 계속 하시겠습니까? =? 가짜;
요청하다. ServicePoint.UseNagleAlgorithm? =? 가짜; -응? //사용하세요? 나겔? 사용하지 않습니까? 효율을 높이다
//요청. AllowWriteStreamBuffering? =? 가짜; -응? //데이터 버퍼링? 가짜? 효율을 높이다
요청하다. 방법? =? "게시물";
요청하다. 컨텐트 유형? =? Application/x-www-form-urlencoded;
요청하다. 사용자 에이전트? =? DefaultUserAgent
만약? (시간 초과. 해시 값)
{
요청하다. 시간 초과? =? 시간 초과. 가치;
}
기타
{
요청하다. 시간 초과? =? 20000;
}
인코딩? RequestEncoding? =? 코딩하다. Getencoding ("utf-8");
//POST 데이터가 필요한 경우?
만약? (! (매개 변수? = =? 널? | |? 매개 변수. 세어? = =? 0)) 을 참조하십시오
{
StringBuilder? 버퍼? =? 새 것? Stringbuilder ();
Int? 나? =? 0;
Foreach? (문자열? 열쇠? 네? 매개 변수. 키 입력)
{
만약? 나? & gt? 0)
{
완충. Appendformat (& {0}={ 1} ",? 열쇠,? Parameters[key]););
}
기타
{
완충. AppendFormat("{0}={ 1} ",? 열쇠,? Parameters[key]););
}
I++;+;
}
Byte[]? 데이터? =? 코드를 요청합니다. GetBytes (버퍼). ToString()););
사용할까요? (흐름? 시냇물? =? 요청하다. GetRequestStream ())
{
시냇물. 쓰기 (데이터,? 0,? 데이터. 길이);
}
}
//응답을 얻고 응답 코드를 설정합니다.
HttpWebResponse? 응답? =? (HttpWebResponse) 요청. Getresponse ();
문자열? 인코딩? =? 응답하다. 컨텐트 엔디안 (ContentEncoding)
만약? (인코딩? = =? 널? | |? 코딩하다. 길이? & lt? 1)
{
인코딩? =? "utf-8"; -응? //기본 인코딩
}
//응답 스트림 읽기
StreamReader? 독자? =? 새 것? StreamReader (응답). GetResponseStream (),? 코딩하다. GetEncoding (인코딩));
문자열? ReturnData? =? 독자. Readtoend ();
독자. Dispose ();
응답하다. 닫기 ();
반환? ReturnData
}
받아요? (예외? Ex) 를 참조하십시오
{
MessageUtil. ShowWarning (예: 메시지);
}
반환? "";
}