Я просто хотел опубликовать свой код, который я получил в полном порядке, если другим может понадобиться помощь с ним в один прекрасный день!
Я разделил его на некоторые вспомогательные функции для простоты. Не пугай тебя.
/// <summary>
/// Call this from another class to update a zone.
/// </summary>
/// <param name="host">The full name of the host</param>
/// <returns></returns>
public string Update(String host)
{
string url = BuildUrl(host, Ip);
return PerformUpdate(url);
}
Вот функция для построения URL
/// <summary>
/// //Constructs the url to send the get request to.
/// </summary>
/// <param name="hostname">the hostname </param>
/// <param name="ip">the ipaddress</param>
/// <returns>The complete String</returns>
private string BuildUrl(String hostname, String ip)
{
return BaseUrl + "hostname=" + hostname + "&myip=" + ip;
}
Вот функция, которая делает обновление:
/// <summary>
/// Performs the actual request to the dyndns server to update the entity
/// </summary>
/// <param name="url">url to post</param>
private String PerformUpdate(String url)
{
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
NetworkCredential creds = new NetworkCredential(Username, Password);
request.UserAgent = Username + " - " + Password + " - " + "0.01";
request.Credentials = creds;
request.Method = "GET";
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
Stream reply = response.GetResponseStream();
StreamReader readReply = new StreamReader(reply);
return readReply.ReadToEnd();
}
Что вы имеете в виду, «как я делаю имя хоста '? –
В этом примере у них есть host members.dynds.org. в моей строке запроса у меня нет этого? – Zapnologica
Нет, но у вас есть другое имя хоста, указывающее на ваш IP –