Вы получаете разные ответы, потому что отправляете другой запрос. Главное отличие здесь - заголовки.
Веб-браузеры и curl автоматически устанавливают для вас некоторые основные c заголовки запросов, но Jsoup этого не делает. Вы должны явно добавить их в соединение. Вы используете curl с -v
, поэтому они уже видны:
> POST / HTTP/2
> Host: bs.to
> User-Agent: curl/7.60.0
> Accept: */*
> Cookie: __bsduid=226mq3kt8oafl5f1le1hv3ognl;
> Content-Length: 88
> Content-Type: application/x-www-form-urlencoded
Jsoup не будет устанавливать заголовки: User-Agent
, Accept
и Content-Type
. Некоторые из них требуются некоторыми серверами, чтобы отличать настоящие веб-браузеры от поисковых роботов. Попробуйте установить для них точно такие же значения, как указано выше, используя .header(name, value)
для имитации того же запроса.
Другое различие между curl и Jsoup заключается в том, что curl, похоже, использует HTTP2, но Jsoup использует HTTP1.1, но этого не должно быть. быть так. Чтобы убедиться, попробуйте использовать curl с переключателем --http1.1
.
Я не могу проверить ни одно из вышеперечисленного, потому что ваши файлы cookie не работают для меня, поэтому вам придется поэкспериментировать самостоятельно.