今天我用java的httpclient访问b站,结果被发现是脚本,然后请求返回的数据都是假的。
我把浏览器访问时的参数都原封不动的带上了,还是被发现了。
下面是java的代码
getMethod.addRequestHeader("cookie", Header.cookie);
//以下是为了不让识别出是脚本额外携带的参数,如果不携带也能获取数据
getMethod.addRequestHeader(":authority","api.bilibili.com");
getMethod.addRequestHeader("method","GET");
getMethod.addRequestHeader(":path","/x/relation/followings?vmid=12345");
getMethod.addRequestHeader(":scheme","https");
getMethod.addRequestHeader("accept","text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9");
getMethod.addRequestHeader("accept-encoding","utf-8");
getMethod.addRequestHeader("accept-language","zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6");
getMethod.addRequestHeader("cache-control","max-age=0");
getMethod.addRequestHeader("sec-fetch-dest","document");
getMethod.addRequestHeader("sec-fetch-mode","navigate");
getMethod.addRequestHeader("sec-fetch-site","none");
getMethod.addRequestHeader("sec-fetch-user","?1");
getMethod.addRequestHeader("upgrade-insecure-requests","1");
getMethod.addRequestHeader("user-agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36 Edg/84.0.522.52");
下面是浏览器的请求标头
我试了很多遍,还是获得了假的数据,但浏览器请求获得的数据都是真的。
有大佬知道怎么办么?感激不尽!!