http://www.im286.com/viewthread.php?tid=1550010&extra=page%3D1
실제로이 문제는 N 번 논의되었습니다
Care4도 두 번 언급되었으므로 문제가 있으면 먼저 검색하는 것이 가장 좋습니다. 누군가가 문제를 해결했을 수도 있습니다.
http://www.im286.com/viewthread. ...; 하이라이트 =%2bcare4
http://www.im286.com/viewthread. ...; 하이라이트 =%2bcare4
Care4 코드의 작은 단점 중 하나는 구성 요소가 필요하다는 것입니다.
첫 번째는 .NET 구성 요소 2이지만 항상 구성 요소를 사용하는 것이 편리하지는 않습니다. ASP를 직접 얻는 방법이 있습니까?
대답이 있습니다
나는 VB Simple Winsock 코드를 썼다
http://www.im286.com/viewthread. ... t = response.redirect
그 당시 나는 ASP와 함께 얻을 수 없다고 말했습니다. 그 당시 CSSDN에 가지 않았기 때문에 지금은 끝났습니다.
먼저 XMLHTTP 구성 요소가 그러한 점프 주소를 얻을 수없는 이유를 이해해야합니다.
response.readirect를 사용하여 점프하고 PHP는 헤더 ( "위치", $ URL);
두 방법의 원리는 동일하며 출력 HTTP 헤더에 위치 필드를 추가하는 것입니다.
동시에 반환 된 HTTP 상태 값을 302로 설정하면 브라우저는 현재 요청 된 페이지가
위치별로 지정된 경로로 이동했습니다
그렇다면 왜 xmlhttp를 얻을 수 없습니까?
그 이유는 매우 간단합니다
위치 헤더가 포함 된 302 개의 메시지를 처리 할 때 XMLHTTP 구성 요소가 너무 현명하므로 마지막 페이지로 직접 이동하므로 중간 프로세스를 볼 수 없습니다! 빌은 똑똑하다!
다행스럽게도 MSXML4는 새로운 사용 가능한 구성 요소를 제공합니다. winhttp.winhttprequest는 매우 중요한 속성을 가지고 있습니다 : 옵션. 이 속성의 여섯 번째 지수는 자동으로 점프할지 여부를 나타냅니다. 그런 다음 XMLHTTP 구성 요소의 getResponseHeader 및 GetAllResponseHeaders 메소드를 쉽게 사용하여 반환 된 HTTP 헤더 정보를 얻을 수 있습니다.
좋아, 다음 코드를 봅시다
Dim OHTTP
OHTTP = server.createObject ( "winhttp.winhttprequest.5.1"
OHTTP.OPTION (6) = 0 '자동 리디렉션은 금지되어 있으며 가장 중요한 것은 단순히 데이터를 읽는 것입니다. 모든 사람이 그렇게 할 것으로 추정됩니다.
OHTTP.SETTIMEOUTS 5000,5000,30000,5000 '세트 타임 아웃 ~ ServerXMLHTTP 구성 요소와 동일합니다
OHTTP.OPEN "get", SURL, FALSE 'OPEN OPEN URL 동기 모드
OHTTP.Status <> 200 및 OHTTP.Status <> 302 인 경우
'OHTTP.STATUS HTTP 상태에 해당합니다. 200 인 경우 이것이 마지막 페이지이고 위치 점프가 없음을 의미합니다.
'302 인 경우 현재 요청의 URL이 이동되었으며 HTTP 헤더에 따라 리디렉션해야합니다.
'우리는 기본적으로 다른 숫자 값으로 상태를 처리하지 않지만 440 개 또는 다른 상태와 같이 직접 처리 할 수 있습니다!
또 다른
'반환 된 HTTP 헤더 및 문서 콘텐츠는 여기에서 처리됩니다.
끝 If
글쎄, 완전한 코드는 더 길다
나는 그것을 직접보기 위해 그것을 공간으로 전달했다
http://test.aymtv.com/url.asp
기본 입력 막대의 코드는 CRSKY의 다운로드 주소입니다. 당신은 그것을 테스트하고 그것을 알 수 있습니다
이 ASP 파일의 소스 코드를 보려면 소스 코드를 보려면 클릭하십시오!
모든 것이 끝났습니다. 계속 CSDN으로 가서 혼합하십시오
완전한 코드 :