В очередной раз про запросы http/2.0
-
Прошу подсказку, как сделать Post-запрос http/2.0.
Http-client BAS не поддерживает данный протокол. Браузер использует именно http/2, а при использовании версии 1/1 сервер отдает другие данные (палит).
Пробовал PHP 7.4 - curl безо всяких бубнов сразу работает по версии http/2 (но нужен многопоточный проект BAS), а curlwrapper не получается заставить работать на меня. Подскажите, где я промахнулся или иные пути.native_async("curlwrapper","easyperform", JSON.stringify( { write_to_string:true, options: { CURLOPT_URL: "https://сайт.com/", CURLOPT_HTTP_VERSION: 3 , // 4 и 5 тоже пробовал CURLOPT_HTTPHEADER: [ "Accept: */*", "Accept-Encoding: gzip,deflate", "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36", "Upgrade-Insequre-Requests: 1", "cache-control: max-age=0", "te: trailers" ], CURLOPT_SSL_VERIFYPEER: 0, CURLOPT_SSL_VERIFYHOST: 0, CURLOPT_USE_SSL: 3, CURLOPT_PROXY: "192.168.33.44:8888" } }))! [[RES]] = _result();
Если есть решение на ноде, прошу подсказать с работающим npm-модулем под BAS и поддерживаемые версии 6 или 12
upd. Конечно же нужна возможность работать с прокси.
-
@Webmaster said in В очередной раз про запросы http/2.0:
Если есть решение на ноде, прошу подсказать с работающим npm-модулем под BAS и поддерживаемые версии 6 или 12
-
Попробуйте в headers дописать
"protocol: 2.0",
или
"protocol: 2",
Сам с таким не сталкивался, но может и прокатит.
-
@gurkin4
Этот вариант сразу был не похож на рабочее решение, но я проверил. Увы
-
@Webmaster Ну..., например для программы Click'Em в шапке скрипта пишутся параметры:
<set>protocol[=]2.0</set> <set>redirect[=]false</set>
и всё отлично работает. Возможно и здесь есть какие-то похожие настройки.
-
@Webmaster Вообще он должен быть включен по умолчанию, если только при сборке его не отключили.
В консольном curl он включается --http2
Но тут libcurl и него вроде бы нет такой опции (https://curl.se/libcurl/c/curl_easy_setopt.html), поэтому возможно придется собирать самому или использовать Nodejs библиотеки типа got
-
т.к. я не великий спец в ноде то ситуация такая:
- axios на всё ругается "not a function";
- got при подключении ругается на что-то связанное с ES (видимо нужно было попробовать более старые версии);
- fetch-h2 работает, но не пристёгивается прокси;
т.к. нужно было быстрее проверить гипотезу по работе с сайтом, перестал терять время и нарисовал прокси-шлюз для своих запросов на php7.4 (curl)