【发布时间】:2021-11-27 20:12:47
【问题描述】:
我正在尝试开发一个 instagram 刮板;这是我的代码:
try {
System.out.println("search in https://instagram.com/" + txtUsername.getText() + "?__a=1");
URLConnection connection = new URL("https://instagram.com/" + txtUsername.getText() + "?__a=1").openConnection();
/*connection
.setRequestProperty("User-Agent",
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11");*/
connection
.setRequestProperty("Cookie",
"sessionid=XXXXXXXXXXXXXXXXXXXXX"); //setting cookie
connection.connect();
BufferedReader r = new BufferedReader(new InputStreamReader(connection.getInputStream(),
Charset.forName("UTF-8")));
StringBuilder sb = new StringBuilder();
String line;
while (r.readLine() != null) {
sb.append(r.readLine());
}
System.out.println(sb.toString());
} catch (MalformedURLException ex) {
Logger.getLogger(MainFrame.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(MainFrame.class.getName()).log(Level.SEVERE, null, ex);
}
因此,我尝试设置会话 cookie 来模拟登录并能够查看用户页面以获取数据(关注者、关注者等来自此链接 https://www.instagram.com/username/?__a=1 )。问题是 cookie 没有设置,事实上我在控制台上的输出中收到的是 instagram 登录页面的源代码,这意味着 cookie 不存在(或者会话错误但我确定这是正确的 )。如何解决这个问题,然后设置 cookie?
【问题讨论】:
标签: java cookies urlconnection