问题
I have this code:
public class WebDataDownloader
{
public string GetJSONFromURL(string url)
{
string file = string.empty;
//*********get the json file using httpRequest ***********
try
{
HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
httpWebRequest.Method = WebRequestMethods.Http.Get;
httpWebRequest.Accept = "application/json; charset=utf-8";
//httpWebRequest.UserAgent = @"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36";
//ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
using (var response = (HttpWebResponse)httpWebRequest.GetResponse())
{
using (var sr = new StreamReader(response.GetResponseStream()))
{
file = sr.ReadToEnd();
}
}
}
catch(Exception exp)
{
Debug.WriteLine(exp.Message);
}
return file;
}
}
Now I call this method from multiple times to get JSON and parse it. Something as given below:
public class MyClass
{
WebDataDownloader myWebClient = new WebDataDownloader();
string Json1 = myWebClient.GetJSONFromURL(@"https://www.nseindia.com/api/market-data-pre-open?key=ALL");
//Do some action on this data
string Json2 = myWebClient.GetJSONFromURL(@"https://www.nseindia.com/api/equity-stock?index=fu_nifty50");
//Do some action on this data
string Json3 = myWebClient.GetJSONFromURL(@"https://www.nseindia.com/api/liveEquity-derivatives?index=nifty_bank_fut");
//Do some action on this data
}
But, the problem is, the first call for (Json1) using
response = (HttpWebResponse)httpWebRequest.GetResponse()
works fine, but 2nd and 3rd calls does not work in the same instance.
Can anybody please help me with this...
Thanks in advance.
来源:https://stackoverflow.com/questions/61440657/httpwebresponse-with-multiple-url-causes-error