我正在尝试从stats.nba.com获取数据 我目前需要的JSON是网址https://stats.nba.com/stats/teamyearbyyearstats?TeamID=1610612746&LeagueID=00&PerMode=Totals&SeasonType=Regular%20Season
,并且我试图在c#控制台应用程序中获取它。 这是我的代码:
try
{
using (var webClient = new System.Net.WebClient())
{
var json = webClient.DownloadString("https://stats.nba.com/stats/teamyearbyyearstats?TeamID=1610612746&LeagueID=00&PerMode=Totals&SeasonType=Regular%20Season");
Console.WriteLine(json);
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
这样,它会导致连接超时错误,并且无法从传输连接中读取数据。 所以我搜索了它,找到了一个解决方案
ServicePointManager.Expect100Continue = false;
我把它放在using语句之前,它仍然不起作用。 抱歉,我是这个在线事物的新手,很抱歉,如果这是一个菜鸟错误。 谢谢
答案 0 :(得分:1)
下面的代码对我有用。
string responsetext;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://stats.nba.com/stats/teamyearbyyearstats?TeamID=1610612746&LeagueID=00&PerMode=Totals&SeasonType=Regular%20Season");
request.Accept = "application/json";
request.Method = "GET";
request.Headers.Add("Accept-Encoding", ": gzip, deflate, br");
var response = request.GetResponse() as HttpWebResponse;
using (var responsechar = new StreamReader(response.GetResponseStream()))
{
responsetext = responsechar.ReadToEnd();
}
response.Close();
如果下面的行不存在,给出的URL不响应。
request.Headers.Add("Accept-Encoding", ": gzip, deflate, br");
答案 1 :(得分:0)
@Ajay指出,您需要在请求中添加标头:
try{
firebase.auth().createUserWithEmailAndPassword(email,password)
.then(() => this.props.navigation.navigate('home'))
.catch(error => {
alert(error.message);
})
}catch(err){
alert(err);
}