【发布时间】:2019-09-13 01:20:02
【问题描述】:
当我从集成开发环境运行它时,我的代码可以正确地从站点接收 cookie 并将其保存在一个文件中:
String url = "https://www.avito.ru";
Map<String, String> cookies = Jsoup.connect(url).execute().cookies();
ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(file));
out.writeObject(cookies);
System.out.println("Get cookies from: " + url + " and write into: " + file.getName());
System.out.println(cookies);
out.close();
但是当我在 Heroku 服务器上上传并运行它时(但此时我暂时将 cookie 存储在处理程序对象中),我在日志中收到错误消息。 它发生在步骤 .execute() 处。 Heroku 代码:
try {
Map <String, String> cookies = Jsoup.connect(url)
.execute()
.cookies();
cookieHandler.setAvitoCookies(cookies);
System.out.println("> AVITO COOKIE:" + cookies);
} catch (IOException e) {
e.printStackTrace();
}
Heroku 错误日志:
org.jsoup.HttpStatusException: HTTP error fetching URL. Status=403, URL=https://www.avito.ru
有没有办法正确获取cookies?
【问题讨论】:
标签: java parsing heroku cookies