我正在尝试从此链接读取数据以检查域可用性:
private bool DomainAvailble(string domain)
{
string response = "";
StreamReader objReader;
string sURL;
sURL = "https://testapi.internet.bs/Domain/Check?ApiKey=testapi&Password=testpass&Domain=" + domain;
WebRequest wrGETURL;
wrGETURL = WebRequest.Create(sURL);
try
{
Stream objStream;
objStream = wrGETURL.GetResponse().GetResponseStream();
objReader = new StreamReader(objStream);
response = objReader.ReadToEnd();
objReader.Close();
objReader.Dispose();
}
catch (Exception ex)
{
ex.ToString();
}
var test = response.ToArray();
if (ContainsInvariant(response, "nstatus=AVAILABLE"))
return true;
else
return false;
}
private bool ContainsInvariant(string sourceString, string filter)
{
return sourceString.ToLowerInvariant().Contains(filter);
}
但是此代码无效,但我可以将结果读作:
在此结果中读取域名是否可用的状态的方法是什么?有没有办法可以读取每个值?
答案 0 :(得分:1)
您的ContainsInvariant函数有错误。它并没有强制过滤器为小写。您可能需要查看this SO question以获得更好的方法来处理不区分大小写的包含。
就读取每个值而言,只需使用String.Split方法将其拆分为" \ n"换行符,它将为每个键/值对提供一个数组。然后,您可以在" ="上进一步拆分这些对。等号以分别获得键和值。