IEにWebページを開いてPOSTデータを送信するように注文する方法を見つけました。
Microsoft InternetExplorerControlsという名前のCOMリファレンスをプロジェクトに追加します。
次にpost string
、フィールドとその値をで区切ってを作成し&
、それをに変換しstring
ますbyte array
。
そして最後に、IEにナビゲートするように要求しurl
、投稿データをに変換しbyte array
て送信し、フォームを送信するときに追加したものと同じヘッダーを追加する必要がありました。
ここに行きます:
using SHDocVw; // Don't forget
InternetExplorer IEControl = new InternetExplorer();
IWebBrowserApp IE = (IWebBrowserApp)IEControl;
IE.Visible = true;
// Convert the string into a byte array
ASCIIEncoding Encode = new ASCIIEncoding();
byte[] post = Encode.GetBytes("username=fabio&password=123");
// The destination url
string url = "http://example.com/check.php";
// The same Header that its sent when you submit a form.
string PostHeaders = "Content-Type: application/x-www-form-urlencoded";
IE.Navigate(url, null, null, post, PostHeaders);
ノート:
これが機能するかどうか試してみてください。サーバー側のページでは、usernameとpasswordという名前のPostフィールドを書き込む/エコーする必要があることを忘れないでください。
PHPコード例:
<?php
echo $_POST['username'];
echo " ";
echo $_POST['password'];
?>
ASPコード例:
<%
response.write(Request.Form("username"))
response.write(" " & Request.Form("password"))
%>
そして、ページには次のようなものが表示されます。
ファビオ123