如何在c#中传递url中的变量

时间:2014-12-24 14:29:29

标签: c# .net variables url

我正在尝试将字符串传递给C#中的URL:

using (var client = new WebClient())
{
  var responseStr = client.DownloadString("http://api.openweathermap.org/data/2.5 /weather?q=Groningen,nl&APPID=%207b030ffcc7338cc5f1adc4ca8e6205aa");          
}

我有办法传递一个字符串变量,而不是?q =格罗宁根 所以我可以使用文本字段来获取城市的天气。

我找不到答案。

谢谢

3 个答案:

答案 0 :(得分:2)

您可以使用字符串连接来执行此操作:

var url = "http://.....q="+city+"&....."; 
var responseStr = client.DownloadString(url);  

其中city是保存您要传递的城市的变量。

答案 1 :(得分:2)

在C#中,您可以使用+运算符来连接字符串。

所以你可以使用类似的东西,

using (var client = new WebClient())
{
  var responseStr = client.DownloadString("http://api.openweathermap.org/data/2.5 /weather?q="+CHOICE+",nl&APPID=%207b030ffcc7338cc5f1adc4ca8e6205aa");          
}

CHOICE 是您所需位置的变量。

有关连接的更多内容:here

答案 2 :(得分:0)

Webclient client = new Webclient();
string city = "Lahore";
string appId = "123456789";
string url = "http://api.openweathermap.org/data/2.5/weather?APPID="+appId+"&q="+city+"";
var json = client.DownloadString(json);

现在根据您的要求反序列化josn响应。

使用以下任何方式

  
      
  1. JavaScriptSerializer
  2.   
  3. JSON.Net library
  4.   
  5. DataContractJsonSerializer
  6.