問題タブ [winhttprequest]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
vb6 - Postメソッド+WinHttpRequest+ multipart / form-data
これがうまくいかない理由に困惑しているので、問題が見つからないようです。
これがコードです。
これで、以下が機能します(ただし、これは単なるHTMLフォームです)。
これがパケットスニフです。(ホストなどを後の例に変更しました)
POST / HTTP / 1.1..User-Agent:Alalala..Content-Type:multipart / form-data; border = speed..Content-Length:233..Accept:/ ..Host:poster.example.com..Connection:Keep-Alive ....-- speed..Content-Dispostion:form-data; name = "function" .... balance ..-- speed..Content-Dispostion:form-data; name = "username" .... blah ..-- speed..Content-Dispostion:form-data; name = "password" .... blah..--speed--.。
応答は空です
HTTP / 1.1 200 OK..日付:2010年10月7日木曜日20:31:20 GMT..サーバー:Apache..Content-Length:0..Connection:close..Content-Type:text / html; charset =UTF-8...。
PS> [送信]の値が付いた送信ボタンを送信する必要はないので、誰かが疑問に思っている場合は送信しないでください。スニッフィングで気付いたのは、ヘッダーと投稿データ(アップロードデータ)を1つのパケットとして送信し、Firefox/Chromeが2つの個別のパケットとして送信することです。
ありがとうございました
c# - pfx を使用して httpwebrequest?
C# を使用して、次の vbscript のチャンクを再現したいと思います。
そうしようとする私の試みはすべて、a) 機能せず、b) 上記のスニペットよりも少し長くなりました。
この後者のコードでは、常に 403 が返されます。理由はわかりませんが、許可に傾いています。cer ファイルから証明書を作成する前に、特に必要なことはありますか? winhttpcertcfg を介してアクセス許可を適用する必要がありますか?
私は元々、証明書 MMC を使用してインポートされた pfx を受け取りました。pfx をクライアント証明書として追加する方法はないようです。そのため、CreateFromCertFile() メソッドで使用するために pfx を DER x509 cer としてエクスポートしました。pfx のみを使用する方法はありますか?
もちろん、元の VBScript は問題なく動作します。それを変換するには何が必要かを知りたいだけです。それほど難しくはないように思えますが、これまでのところ、少し苦労しました。
[アップデート]
どうやら、ディスク上で pfx を使用することは可能です (パスワードがあれば) が、[これ]http://support.microsoft.com/kb/948154 は、証明書ストアに依存する方がよいことを示唆しているようです。これは元の vbscript が行っていたことと似ているため、ストアから証明書を取得するように上記のコードを変更しました。
WinHttpCertCfg ツールを使用して、許可された「Everyone」アクセスを証明書に追加しました。まだ運がありません。残念ながら、これもサーバーから 403 を返します。コードを見ていくと、証明書が見つかり、正常に作成されていることがわかります。クライアント証明書として追加されていることも確認できます。なんらかの理由で、HttpWebResponse を使用してうまくいきませんでした。
ただし、相互運用機能を使用すると問題なく動作します。フレームワークにネイティブではないものに依存するのは嫌いですが、WinHttpRequest コンポーネントは非常に使いやすいようです。約 1/4 のコードで同じことを達成でき、これはアプリの残りの部分とうまく統合されます。
delphi - OleVariantからIStreamを取得する
DelphiとWinHTTPを使用して、インターネットからいくつかのファイルをダウンロードするためのHTTPリクエストを実行しています。リクエストは実行できますが、から返されるOleVariantからIStreamを取得する方法がわかりませんResponseStream
。私はグーグルに多くの時間を費やしましたが、それを行う方法がわかりません。これが私が試したことです:
しかし、エラーが発生します[DCC Error] main.pas(45): E2015 Operator not applicable to this operand type
(45行目はinstream := req.ResponseStream as IStream;
)。
OleVariantからIStreamを怖がらせるにはどうすればよいですか?
c++ - ホスト名に www が含まれていない場合、WinHttp は機能しません。(エラー 12029)
http://msdn.microsoft.com/en-us/library/aa384270%28v=vs.85%29.aspxからこの winhttp の例をテストしています
それはうまくいきますが、wwwを取り出すと. www.microsoft.com から 12029 ERROR_WINHTTP_CANNOT_CONNECT エラーが表示されます。この理由は何ですか?
www. を使用する場合、すべての Web サイトが winhttp で動作しますか? wwwを使っていないサイトもあるので、今のところ見つけられませんでしたが、wwwでアクセスするとブラウザ上で「サーバーが見つかりません」と表示されるサイトをいくつか見かけました。しかし、彼らはそれなしで働きました。
vb.net - WinHTTPRequest.ResponseTextは完全なHTMLを返しませんか?
WinHTTPリクエストを使用してVB.NetでWebページ(HTTPS Webサイト)を取得しようとしましたが、何らかの理由で部分的なHTMLしか返さなかったのですが、使用できる文字数に長さの制限はありますか?もしそうなら、たとえば10000文字目以降のコンテンツを取得できますか?
関連するコードは次のとおりです。
http - WinHTTPPOSTをローカルでテストする方法
POSTを介してサードパーティのリスナーにデータを送信する必要があります。WinHTTP経由で送信するデータベーストリガーを作成しましたが、これまでに作成したことはありません。POSTリスナーを設定して自分に送信するにはどうすればよいですか?IPとして127.0.0.1を使用できると思いますが、どうすればよいかわかりませんか?理想的には、ブラウザで入力を待ってから書き出すようにします。
com - クラシック ASP で WinHttpRequest.ResponseStream (IStream に関連) を操作しますか?
VBScript/ASP でのResponseStream
プロパティを操作する方法はありますか? WinHttp.WinHttpRequest.5.1
少なくともIStream
(関連する) インターフェイスResponseStream
は ASP にある程度統合されています。
それとも、それがスクリプトで達成できる限界ですか? さらに先に進みたい場合は、独自の COM コンポーネントを作成する必要がありますか?
req.ResponseText
または のいずれかを使用できることがわかっていることに注意してくださいreq.ResponseBody
。興味深いのは、C 用にのみ文書化されているが、スクリプトにアクセスできる可能性がある (推測している)ものを使用して、スクリプトをさらに進めることができるかどうかを知ることです。私はCOMについて詳しくありません。
vbscript - WinHttp.WinHttpRequest オブジェクトから xml を解析する方法は?
サーバーに接続し、WinHttpRequest オブジェクトで (XML として) 応答テキストを取得するスタンドアロンの VBScript があります。さて、私の質問は、その中の XML コンテンツをどのように解析するかです。request(strPostData) を投稿するとき、応答 XML を解析する必要があります。コンソールに出力を印刷できないため、以下で使用しているものは機能しません。ただし、ResponseText を出力することはできます。しかし、私はそれを解析することができません。
解析する XML は次のとおりです。
c++ - WinHTTP がヌル バイトをダウンロードしていますか、それとも結果バッファーを間違ってコピーしていますか?
私は最近、完全に機能する WinInet プログラムを WinHTTP に移植しました。以下は、GET リクエスト全体を 1 行のコードにラップするために作成した関数です。
このコードは、要求された URL をダウンロードするという点で機能します。この問題は、サーバーが Content-Length ヘッダーを返さない場合に発生します (ほとんどの場合)。コードは引き続きすべてのデータをダウンロードしますが、文字列に変換すると null バイトが埋め込まれます。
上記のコードは次のように呼び出されます。
StdString は typedef std::basic_string<TCHAR> で、StdOut は UNICODE が定義されているかどうかに応じて cout または wcout を使用するマクロです。
ヌルが埋め込まれているため、すべての応答がコンソールに表示されるわけではありません。デバッグをオフにしてコードを実行したときに表示される出力は、ここで表示できます(改行は、コンソールでテキストが折り返されている場所であることに注意してください)。最初の null は、最後の "__in" の直後に表示され、"Press any key to continue. . ." 出力が表示される場所で発生します。出力のスクリーン キャップは次のとおりです。
html 変数の値のテキスト ビジュアライザーのスクリーン キャップを次に示します。これは、表示可能なものに対して null が表示される場所を正確に示しています。
どこかで悪いコピーをしているのですか、それとも私が気付いていない WinHTTP のニュアンスがありますか?
vb6 - キリル文字の応答テキストを取得する方法
http.responsetext
キリル文字で、テキストを読むことができません。キリル文字を取得するにはどうすればよいですか?