2008年4月22日火曜日

HTTP Post がエラー "303 See Other" を返す

http://www.nsoftware.com/kb/showentry.aspx?entry=01260502

該当製品:


  • IP*Works!
  • IP*Works! SSL


現象:


HTTP (あるいは WebForm、WebUpload 等) で POST 処理をすると、HTTP プロトコルエラー "303 See Other" になります。

解決法:


これはサーバから返されるコード (トラップするには標準的なエラーハンドリングを使用すべきもの) であり、あなたの行った POST に対するサーバの応答は、別の URL に対する GET を使用して取得すべきものであることを通知しています。使用すべき URL は Location ヘッダ内に格納されており、これはコンポーネントの Header イベントを使用して取得します。例:
Private Sub HTTP_Header(...)
If (e.Field.ToUpper() = "LOCATION") Then
newurl = e.Value
End If
End Sub

Try
HTTP.Post("http://server/script.aspx")
Catch ex1 as nsoftware.IPWorks.IPWorksException
If (ex1.Code = 303) Then
HTTP.Get(newurl)
string postresponse = HTTP.TransferredData
End If
End Try

0 件のコメント: