C#从url读取ini值

时间:2015-07-07 12:14:35

标签: c# web ini

我有一个网站例如" http://example.com"这里是settings.ini文件" http://example.com/settings.ini" ,在文件wrriten中这个文字:

[Client]
Enabled=1

我不想从C#中获取该值,是否可能,如何?

例如,我使用此代码:

var MyIni = new IniFile(@"C:\settings.ini");
var DefaultVolume = MyIni.Read("Enabled");
MessageBox.Show(DefaultVolume);

它运作良好,我试图制作这样的东西:

var MyIni = new IniFile(@"http://example.com/settings.ini");

但它不起作用,谢谢。

编辑:

我收到此错误:

An unhandled exception of type "System.ArgumentException" in mscorlib.dll
For more information: URI formats are not supported.

更新:

此代码从.ini获取所有值,现在我需要集成到我的旧代码

WebClient client = new WebClient();
Stream stream = client.OpenRead("http://example.com/settings.ini");
StreamReader reader = new StreamReader(stream);
String content = reader.ReadToEnd();

2 个答案:

答案 0 :(得分:0)

使用HttpWebRequest(http://www.csharp-station.com/HowTo/HttpWebFetch.aspx

读取ini文件内容

答案 1 :(得分:0)

您可以使用我的库来从INI文件中检索您的设置:

https://github.com/MarioZ/MadMilkman.Ini

例如,如下所示:

WebClient client = new WebClient();
IniFile myIni = new IniFile();

myIni.Load(client.OpenRead("http://example.com/settings.ini"));

string defaultVolume = myIni.Sections["Client"].Keys["Enabled"].Value;
MessageBox.Show(defaultVolume);

同样作为FYI,您可以将该值检索为如下所示的整数:

int volume;
myIni.Sections["Client"].Keys["Enabled"].TryParseValue(out volume);

我希望这会有所帮助。