Вот код, который я нашел для работы.
Мы используем HTTP POST, кодирующий параметры в теле потока. Это дает нам «url-foobar» как тело контента. Никаких типов контента, диспозиций, границ и т. Д. В теле.
private static HttpWebResponse MakeRequest(string path, string postArgument)
{
//string url = path + "?" + UrlEncode(postArgument);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(path);
request.Method = "POST";
string boundary = Guid.NewGuid().ToString().Replace("-", "");
request.ContentType = "multipart/form-data; boundary=" + boundary;
Stream stream = request.GetRequestStream();
string result = string.Format("url={0}", postArgument);
byte[] value = Encoding.UTF8.GetBytes(result);
stream.Write(value, 0, value.Length);
stream.Close();
return (HttpWebResponse)request.GetResponse();
}
public static void ping(string server, string feed)
{
HttpWebResponse response = MakeRequest(server, feed);
XmlDocument document = new XmlDocument();
string result = GetString(response.GetResponseStream());
try
{
document.LoadXml(result);
}
catch
{
MessageBox.Show("There was an error with the response", "Error");
}
//MessageBox.Show(msg, success);
}
public static string GetString(Stream thestream)
{
int n = thestream.ReadByte();
byte[] bytes = new byte[n];
thestream.Read(bytes, 0, n);
return Encoding.ASCII.GetString(bytes);
}
Вызовы GetString предназначены только для целей отладки и не являются строго необходимыми.
Спасибо всем, кто зашел сюда за то, что поставил меня на правильный путь.