php に組み込まれた「C」のオンライン コンパイラを見ました。fiddler 2 ツールを使用して、Web ブラウザがサーバーに投稿しているものを確認しています。サーバーに送信されるコンテンツは次のようになります。
上記のテキストを生成できるように、C#でWEBCLIENTまたはWEBREQUESTを使用してサーバーに何を投稿する必要があるか、誰でもわかりますか。上記の数値は、i POST のたびに異なります。助けてください。
php に組み込まれた「C」のオンライン コンパイラを見ました。fiddler 2 ツールを使用して、Web ブラウザがサーバーに投稿しているものを確認しています。サーバーに送信されるコンテンツは次のようになります。
上記のテキストを生成できるように、C#でWEBCLIENTまたはWEBREQUESTを使用してサーバーに何を投稿する必要があるか、誰でもわかりますか。上記の数値は、i POST のたびに異なります。助けてください。
Vogel612 が言ったように、数の変化は特徴です。
とにかく、WebClient を使用してサーバーに投稿するには、メソッドを呼び出して、イベントが発生UploadStringAsync
したときにハンドラーを記述する必要があります。これは、 C コードをコンパイラ サービスにUploadStringCompleted
送信する複数行を使用して作成した非常に高速な WinForms プログラムです。TextBox
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.Web;
namespace WebClientPostForm
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
PostToServer();
}
public void PostToServer()
{
TxtOutput.Text += "Initialising... ";
// string is formatted like this for readability
string code = "int main()" +
"{" +
"printf(\"Hello World!\");" +
"}";
// the code is URL-encoded so that characters are escaped
string data = string.Format("code={0}&lang=c&submit=Execute", HttpUtility.UrlEncode(code));
WebClient client = new WebClient();
// I couldn't get this to work unless I set the content type
client.Headers["Content-Type"] = "application/x-www-form-urlencoded";
client.UploadStringCompleted += (sender, e) =>
{
TxtOutput.Text += string.Format("Request complete. Response: {0}", e.Result);
};
TxtOutput.Text += "Posting Data To Server... ";
client.UploadStringAsync(new Uri("http://www.compileonline.com/compile.php"), data);
}
}
}