ASP에서 HTTP 사후 요청을 수행하는 방법은 무엇입니까?
-
13-09-2019 - |
문제
Classic ASP (.NET 아님)에서 Post Data를 사용하여 HTTP 요청을 어떻게 만들려고합니까?
해결책
다음과 같은 것을 시도 할 수 있습니다.
Set ServerXmlHttp = Server.CreateObject("MSXML2.ServerXMLHTTP.6.0")
ServerXmlHttp.open "POST", "http://www.example.com/page.asp"
ServerXmlHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
ServerXmlHttp.setRequestHeader "Content-Length", Len(PostData)
ServerXmlHttp.send PostData
If ServerXmlHttp.status = 200 Then
TextResponse = ServerXmlHttp.responseText
XMLResponse = ServerXmlHttp.responseXML
StreamResponse = ServerXmlHttp.responseStream
Else
' Handle missing response or other errors here
End If
Set ServerXmlHttp = Nothing
PostData가 게시하려는 데이터입니다 (예 : 이름-값 쌍, XML 문서 등).
설치 한 내용과 일치하려면 올바른 버전의 msxml2.serverxmlhttp를 설정해야합니다.
열린 방법은 5 개의 인수를 취하며, 그 중 첫 번째는 다음과 같이 필요합니다.
ServerXmlHttp.open Method, URL, Async, User, Password
- 방법 : "get"또는 "post"
- URL : 게시하려는 URL
- 비동기 : 기본값은 False입니다 (호출은 즉시 반환되지 않음) - 비동기 호출을 위해 True로 설정
- 사용자 : 인증에 필요한 사용자 이름입니다
- 비밀번호 : 인증에 필요한 비밀번호
통화가 반환되면 상태 속성은 HTTP 상태를 유지합니다. 200의 값은 OK를 의미합니다 -404는 찾을 수 없으며 500은 서버 오류를 의미합니다. (참조 http://en.wikipedia.org/wiki/list_of_http_status_codes 다른 값의 경우.)
응답을 텍스트 (responsext property), xml (responsexml property) 또는 스트림 (ResponseStream 속성)으로 얻을 수 있습니다.
다른 팁
기존 XMLHTTP 서버 객체 중 하나를 직접 사용해야합니다. 그렇지 않으면 낮은 레벨을 추상화하여 생명을 조금 더 쉽게 할 수있는 라이브러리를 사용할 수 있습니다.
확인하다 Ajaxed 구현 URL을 가져 오는 것
단점 : 라이브러리를 작동 시키려면 라이브러리를 구성해야합니다. 이것이 프로젝트에 필요한지 확실하지 않습니다.
제휴하지 않습니다 StackOverflow