使用R语言httr的GET请求无法获取Network面板响应内容
问题:Winamax赛事数据Socket.IO请求失败及SID使用疑问
问题背景
我尝试从Winamax赛事页面获取数据,目标接口是Network面板中定位到的一个GET请求。参照请求头编写代码后请求失败,但去掉URL中polling之后的参数时,能成功返回200状态码并拿到SID,不知道该如何使用这个SID继续请求数据。
失败的请求代码
url <- "https://sports-eu-west-3.winamax.fr/uof-sports-server/socket.io/?language=FR&version=3.3.0&embed=false&EIO=3&transport=polling&t=PMkczty&sid=KTgYbJPFwJJvgPH2ELsN" cookies <- "PHPSESSIONID=2e8oodpcdd738jnbba7f86n6n3; PHPSESSID=f3fu2f2u256pjfar39d53ccmdm; AWSALB=5dUyh9AdOtQ4+5qn8gOVduPdhBZGKGsiyHHuLinQcqGy82blgtkB7u3Zd+oTyi6Qrr1GSNua5ZoAGnvZ6t/SpvnodZYjivX9DCdkZG7GuYeSysZryg2mNv7ec6Fh; AWSALBCORS=5dUyh9AdOtQ4+5qn8gOVduPdhBZGKGsiyHHuLinQcqGy82blgtkB7u3Zd+oTyi6Qrr1GSNua5ZoAGnvZ6t/SpvnodZYjivX9DCdkZG7GuYeSysZryg2mNv7ec6Fh; io=KTgYbJPFwJJvgPH2ELsN" t <- httr::GET(url, add_headers('User-Agent' = 'Mozilla/5.0', 'Cookie'= cookies, 'sec-ch-ua-platform' = "Windows"), accept_json())
运行status_code(t)返回400状态码,请求失败。
成功获取SID的代码
url2 <- 'https://sports-eu-west-3.winamax.fr/uof-sports-server/socket.io/?language=FR&version=3.3.0&embed=false&EIO=3&transport=polling' t <- httr::GET(url2, add_headers('User-Agent' = 'Mozilla/5.0', 'Cookie'= cookies, 'sec-ch-ua-platform' = "Windows"), accept_json()) print(status_code(t)) # 输出:[1] 200 get2json <- content(t, as = "text") # 输出:[1] "97:0{\"sid\":\"fLiZq05y2HrayUG6EmxO\",\"upgrades\":[\"websocket\"],\"pingInterval\":25000,\"pingTimeout\":20000}2:40"
请求解决提示
希望得到如何使用获取到的SID继续请求赛事数据的相关指引。
内容的提问来源于stack exchange,提问作者M.O
相关产品推荐
相关产品推荐

