1

私は奇妙な状況にあり、Google は私を助けてくれません。HTTPS で実行されている別のサイトにデータを投稿する単純な HTTP の管理サイトがあります。HTTP 管理サイト (直接アクセスできない) は基本的な POST 経由で情報を送信しており、HTTPS サイトで Request.Form の値を取得しようとしています。受信サイトがSSLで実行されていないため、開発では完全に機能しますが、製品ではRequest.Formが空です。誰かが私を啓発できますか?基本的な HTTPS リクエスト コードは次のとおりです。

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
4

1 に答える 1

3

私は同じ問題を抱えていたので、この質問を見つけました。フィドラーの推奨についてdanaに感謝する必要があります。

Fiddler を使用して、何が起こっているのかを調べました。私のページは HTTPS 上にあり、投稿していたフォームは HTTP に投稿されました。投稿されたページのフォーム構造が空だった理由がわかりませんでした。

サーバーがファイルの http バージョンを見つけることができず、フォーム変数で GET を実行して、https バージョンへの自動リダイレクトを行ったことが判明しました。GET を使用したフォーム スコープでは使用できません。(FWIW、私はCFMLを使用しています。)

フォーム アクションを HTTPS に投稿するように変更すると、すべてが魅力的に機能しました。

-ジェイソン

于 2012-12-08T18:41:45.660 に答える