【发布时间】:2018-11-09 22:16:49
【问题描述】:
我正在尝试使用 c# 解析 html 以获取来自此 site 的所有比赛的接球率。
我正在使用此代码在另一个网站上获取匹配率,并且运行良好。
Uri url = new Uri("https://1xbetm.mobi/LineFeed/Get1x2_VZip?sports=1&count=500&lng=tr&tf=1500000&tz=3&mode=4&country=190&getEmpty=true");
WebClient client = new WebClient();
string jsonOneXBetData = client.DownloadString(url);
但是当我将 Url 更改为
Uri url = new Uri("https://www.87tempobet.com");
我收到 500 错误:(
我尝试使用Fiddler 4 阅读此网站请求操作,但我找不到正确的网址。
我尝试使用Wireshark。但我不知道如何过滤本地请求并查看网址..
所以我不知道我需要做什么..你能帮帮我吗?
【问题讨论】:
-
500 错误是服务器端。他们可能会检测到您的用户代理不是真正的用户代理并“阻止”您。
-
但是他们怎么能检测到我的请求呢? Web 浏览器请求和编程请求有什么区别?我不知道逻辑,也许我应该发送请求验证令牌但我已经不知道如何读取和发送。
-
我建议你阅读一下 Selenium。
-
我也需要问一些问题。当我第一次尝试从bets10 读取数据时,我看到了同样的错误。 500 错误。但是我查看了网络,发现了一个
Api,该站点使用它来获取匹配项,并将速率设置为JSON..但是我找不到该站点的任何数据源:( -
您必须从 Web 发送请求并在 fiddler 或 wireshark 中捕获该请求。然后查看请求标头。然后,您必须通过 C# 代码在 Web 客户端请求中发送这些请求标头。通常,当我们从 webclient 发送请求时,没有referrer 和 user-agent 请求标头,因此大多数站点拒绝请求。
标签: c# httprequest html-parsing webclient