반응형
시스템과 함께 HTTP POST를 보내는 중입니다.Net.WebClient
시스템으로 일부 양식 데이터와 함께 HTTP POST를 전송할 수 있습니까?Net.WebClient?
그렇지 않다면, HTTP POST를 수행할 수 있는 WebClient와 같은 다른 라이브러리가 있습니까?시스템을 사용할 수 있습니다.Net.HttpWebRequest입니다만, 그렇게 장황하지 않은 것을 찾고 있습니다.
바라건대 다음과 같이 보일 것입니다.
Using client As New TheHTTPLib
client.FormData("parm1") = "somevalue"
result = client.DownloadString(someurl, Method.POST)
End Using
@carlosfigueira의 답변을 바탕으로 WebClient의 방법을 자세히 조사한 결과 UploadValues가 바로 제가 원하는 것입니다.
Using client As New Net.WebClient
Dim reqparm As New Specialized.NameValueCollection
reqparm.Add("param1", "somevalue")
reqparm.Add("param2", "othervalue")
Dim responsebytes = client.UploadValues(someurl, "POST", reqparm)
Dim responsebody = (New Text.UTF8Encoding).GetString(responsebytes)
End Using
주요 부분은 다음과 같습니다.
client.UploadValues(someurl, "POST", reqparm)
내가 입력하는 동사를 전송하고, 적절한 URL 인코딩 양식 데이터를 만드는 데 도움이 되며, 매개 변수를 이름 값 컬렉션으로 제공하기만 하면 됩니다.
WebClient양식 데이터를 직접 지원하지는 않지만 UploadString 방법을 사용하여 HTTP 게시물을 보낼 수 있습니다.
Using client as new WebClient
result = client.UploadString(someurl, "param1=somevalue¶m2=othervalue")
End Using
http 동사에 관한 한.WebRequest더 쉬울 수도 있습니다.다음과 같은 것을 선택할 수 있습니다.
WebRequest r = WebRequest.Create("http://some.url");
r.Method = "POST";
using (var s = r.GetResponse().GetResponseStream())
{
using (var reader = new StreamReader(r, FileMode.Open))
{
var content = reader.ReadToEnd();
}
}
분명히 이것은 예외 처리 및 요청 본문 작성이 부족합니다(사용할 수 있음).r.GetRequestStream()보통 스트림처럼 쓰지만 도움이 됐으면 좋겠습니다.
언급URL : https://stackoverflow.com/questions/8222092/sending-http-post-with-system-net-webclient
반응형
'programing' 카테고리의 다른 글
| package.json에서 tilde(~)와 carlet(^)의 차이점은 무엇입니까? (0) | 2023.05.14 |
|---|---|
| 선택 상자의 선택 옵션 설정 (0) | 2023.05.14 |
| Azure 가용성 세트 및 척도 세트의 차이 (0) | 2023.05.14 |
| 트위터 부트스트랩을 사용하여 모달/대화 상자에서 삭제를 확인하시겠습니까? (0) | 2023.05.14 |
| 플라스크 사용자 인증 (0) | 2023.05.14 |