3

以前の質問で、text/xmlContent-Type を含むトークン/値のペアを誤って送信したため、何も送信されませんでした。この問題に対する Tim C の洞察は非常に役に立ちました。ありがとう、ティム!

元の送信コードを振り返ってみると、ServerXMLHTTPの Content-Type の への設定text/xmlが最近の誤った追加であったことに気付きました。質問に投稿した送信コードは次のようになりました。

url = "www.receivingwebsite.com\asp\receivingwebpage.asp"
information = "UserName=Colt&PassWord=Taylor&Data=100"
Set xmlhttp = server.Createobject("MSXML2.ServerXMLHTTP")
xmlhttp.Open "POST", url, false
xmlhttp.setRequestHeader "Content-Type", "text/xml"
xmlhttp.send information

実際の送信コードは次のとおりです。

url = "www.receivingwebsite.com\asp\receivingwebpage.asp"
information = "UserName=Colt&PassWord=Taylor&Data=100"
Set xmlhttp = server.Createobject("MSXML2.ServerXMLHTTP")
xmlhttp.Open "POST", url, false
xmlhttp.send information

...送信前に Content-Type を設定しようとはしません。

残念ながら、最初に私が助けを求めるようになった問題はまだ存在しています。私の受信クラシック ASP ページは、ServerXMLHTTPオブジェクトによって投稿されている情報を表示できません。情報は要求オブジェクトquerystringまたはform配列にありません。何をしても情報が見つかりませんが、 content-type を に変更するapplication/x-www-form-urlencodedと、request.form配列で表示されるため、送信されていることがわかります。

MSXML2.ServerXMLHTTPでは、クラスのデフォルトのコンテンツ タイプは何ですか?

また、送信クラスがそのデフォルトのコンテンツ タイプを使用している場合、私の情報はどこにありますか?

4

1 に答える 1

4

ASP は、POST のコンテンツ タイプが "application/x-www-form-urlencoded" の場合にのみ、フォーム配列に入力します。通常、ServerXMLHTTP はコンテンツ タイプ ヘッダーを設定しないため、手動で設定しない場合、コンテンツ タイプ ヘッダーは送信されません。

これに対する例外は、送信するパラメータとして XML ドキュメントを渡す場合です。その場合、ServerXMLHTTP はコンテンツ タイプを「text/xml; charset=UTF-8」に設定します。

于 2008-12-18T10:18:25.257 に答える