public static string GetWebServiceEx(string url)
{
string strURL = url; //创建一个HTTP请求
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(strURL);
request.Method = "get";
HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse();
Stream s = response.GetResponseStream();
//转化为XML,自己进行处理
XmlTextReader Reader = new XmlTextReader(s);
Reader.MoveToContent();
string strValue = Reader.ReadInnerXml();
//return strValue;
strValue = Public.GetXMLString(strValue);
return strValue;
}
public class GetIP
{
[DllImport("Iphlpapi.dll")]
private static extern int SendARP(Int32 dest, Int32 host, ref Int64 mac, ref Int32 length);
[DllImport("Ws2_32.dll")]
private static extern Int32 inet_addr(string ip); //获取本机的IP
public string getLocalIP()
{
string strHostName = Dns.GetHostName(); //得到本机的主机名
IPHostEntry ipEntry = Dns.GetHostByName(strHostName); //取得本机IP
string strAddr = ipEntry.AddressList[0].ToString();
return (strAddr);
}
//获取本机的MAC
public static string getLocalMac()
{
string mac = null;
ManagementObjectSearcher query = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapterConfiguration");
ManagementObjectCollection queryCollection = query.Get();
foreach (ManagementObject mo in queryCollection)
{
if (mo["IPEnabled"].ToString() == "True")
mac = mo["MacAddress"].ToString();
}
return (mac);
}
}
string uri = " http://localhost:15995/Login.asmx/CheckSecurity?mac=" + Common.GetIP.getLocalMac().Trim();
//MessageBox.Show(Common.Net.GetWebServiceEx(" http://localhost:15995/Login.asmx/CheckSecurity?mac=00:1B:9E:BB:04:59")+"\r\n"+uri);
MessageBox.Show(Common.Net.GetWebServiceEx(uri) + "\r\n" + uri);
上边是方法以及调用
2个问题 第一个string uri = " http://localhost:15995/Login.asmx/CheckSecurity?mac=" + Common.GetIP.getLocalMac().Trim();
得到的结果是
http://localhost:15995/Login.asmx/CheckSecurity?mac=00:1B:9E:BB:04:59
但是用
Common.Net.GetWebServiceEx(uri)执行得不到结果 但是
Common.Net.GetWebServiceEx("http://localhost:15995/Login.asmx/CheckSecurity?mac=00:1B:9E:BB:04:59")可以;
还有
GetWebServiceEx()方法能取到webservice的返回 如何解析 这个XML呢 对XML解析
不熟悉望指点返回 XML <?xml version="1.0" encoding="utf-8" ?>
<DataTable xmlns=" http://pxtsoft.com/">
<xs:schema id="NewDataSet" xmlns="" xmlns:xs=" http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:app1="CheckSecurity" msdata:schemafragmentcount="2">
<xs:import namespace="CheckSecurity" />
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:MainDataTable="CheckSecurity_x003A_ds" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="app1:ds" />
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
<xs:schema targetNamespace="CheckSecurity" xmlns:mstns="CheckSecurity" xmlns="CheckSecurity" xmlns:xs=" http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" attributeFormDefault="qualified" elementFormDefault="qualified" xmlns:app1="CheckSecurity">
<xs:element name="ds">
<xs:complexType>
<xs:sequence>
<xs:element name="id" type="xs:int" minOccurs="0" />
<xs:element name="用户名" type="xs:string" minOccurs="0" />
<xs:element name="密码" type="xs:string" minOccurs="0" />
<xs:element name="姓名" type="xs:string" minOccurs="0" />
<xs:element name="所属部门" type="xs:string" minOccurs="0" />
<xs:element name="部门职务" type="xs:string" minOccurs="0" />
<xs:element name="节点权限" type="xs:string" minOccurs="0" />
<xs:element name="联合区" type="xs:string" minOccurs="0" />
<xs:element name="网卡绑定" type="xs:string" minOccurs="0" />
<xs:element name="帐号状态" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
<diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
<NewDataSet xmlns="">
<ds diffgr:id="ds1" msdata:rowOrder="0" xmlns="CheckSecurity">
<id>1</id>
<用户名>admin</用户名>
<密码>admin</密码>
<姓名>admin</姓名>
<所属部门>销售部</所属部门>
<部门职务>管理员</部门职务>
<节点权限>销售</节点权限>
<联合区>南联合教学区</联合区>
<网卡绑定>00:1B:9E:BB:04:59</网卡绑定>
<帐号状态>正常</帐号状态>
</ds>
</NewDataSet>
</diffgr:diffgram>
</DataTable>
如果用XmlDocument Doc=New XmlDocument();
Doc.LoadXml(GetWebServiceEx);
提示有2个根节点 异常
,反正我现在是中文系统,把你贴出来的直接保存成xml打不开,把编码方式改变就可以了。你可以试着把你里面的中文汉字改成英文,或者把你程序的环境改成英文