2012-10-29 3 views
1

나는 이상한 상황에 처해 있으며 Google이 나를 도와주지 않습니다. HTTPS에서 실행중인 다른 사이트에 데이터를 게시하는 간단한 HTTP의 관리 사이트가 있습니다. 직접 액세스 권한이없는 HTTP 관리 사이트는 기본 POST를 통해 정보를 보내고 HTTPS 사이트에서 Request.Form 값을 캡처하려고합니다. 그것은 dev에 완벽하게 잘 작동합니다, 수신 사이트가 SSL 하에서 실행되지 않기 때문에,하지만 prod에서 Request.Form은 비어 있습니다. 누군가 나를 가르쳐 줄 수 있니? 기본 HTTPS 요청 코드는 다음과 같습니다.ASP.NET의 HTTP와 HTTPS 페이지 사이의 Request.Form

Dim nvm As NameValueCollection = Request.Form 
Dim _idInscricao As String 
Dim _Origem As String 

litMensagem.Text = "Wait..." 

    If nvm.Keys.Count = 0 Then 
     litMensagem.Text = "Error recovering data. No keys found." 
     Exit Sub 
    End If 

    For Each _Key As String In nvm.Keys 
     If _Key.ToLower.EndsWith("idinscricao") Then 
      _idInscricao = nvm(_Key) 
     End If 
     If _Key.ToLower.EndsWith("origem") Then 
      _Origem = nvm(_Key) 
     End If 
    Next 

    If _idInscricao Is Nothing OrElse String.IsNullOrEmpty(_idInscricao) _ 
     OrElse _Origem Is Nothing OrElse String.IsNullOrEmpty(_Origem) Then 
     litMensagem.Text = "Error recovering data." 
     Exit Sub 
    End If 
+0

HTTP 또는 HTTPS로 게시할지 여부는 중요하지 않습니다. Fiddler (http://www.fiddler2.com/fiddler2/)를 사용하여 게시물을 보았습니까? – dana

답변

3

동일한 문제가 있었기 때문에이 질문을 발견했으며 피아노 추천에 대해 dana에게 감사드립니다.

피들러를 사용하여 나는 무슨 일이 일어나고 있는지 알아 냈습니다. 내 페이지가 HTTPS에 있었고 내가 게시 한 양식이 HTTP에 게시되었습니다. 게시 된 페이지의 양식 구조가 비어있는 이유를 알 수 없습니다.

서버에서 파일의 http 버전을 찾을 수 없으며 양식 변수로 GET을 수행하여 https 버전으로 자동 리디렉션했습니다. GET으로 양식 범위에서 사용할 수 없습니다. (FWIW, 저는 CFML을 사용하고 있습니다.)

일단 HTTPS에 게시하도록 양식 작업을 변경하면 모든 것이 매력처럼 작동합니다.

-jason

관련 문제