HTTP サーバーにテキストを送信する必要があります。キャプティブポータルなどに送信されたのではなく、正常に送信されたことをかなり確実に知る必要があります。ただし、HTTP サーバーにはいくつかの制限があるため、返された HTTP ステータス コードが 200 であることを確認することが最善の方法です。
サーバーから返された HTTP ステータス コードを取得するにはどうすればよいですか?
これは私の現在のコードです:
WebClient client = new WebClient();
client.Headers["Content-Type"] = "text/xml";
client.Encoding = Encoding.UTF8;
bool? result=null;
try
{
client.UploadStringAsync(server, "POST", data);
client.UploadStringCompleted += (s, e) =>
{
result=e.Error == null;
};
}
catch { }
現在e.Error
、サーバーが 400-500 エラー コードを返した場合に設定されますが、サーバーが 300 系列の HTTP ステータス コードを返した場合には設定されません。