Пару часов промучился используя разные костыли, в итоге Get так и не уходит.
Есть такой снипет
Тут оправляется первый гет на заголовки и выдергивается кодировка, второй гет отправляет на получение тела в нужной кодировке сайта. Но проблема в том, что если кодировка указывается из переменной, то гет просто не отправляется, во вкладки трафик он даже не получает код. Если кодировку указать в ручную то гет отправляется. Тоже самое если забивать кодировку в переменную в ручную, то отправляется, если через Regex выдергивать то ловлю ошибку "Ссылка на объект не указывает на экземпляр объекта."
Как это можно исправить?
Есть такой снипет
C#:
var url = project.Variables["Url"].Value;
var Host = System.Text.RegularExpressions.Regex.Match(project.Variables["Url"].Value, @"[a-z0-9_-]+(\.[a-z0-9_-]+)*\.[a-z]{2,9}").Value;
var ContentType = "";
var response = ZennoPoster.HttpGet(
url,
"",
"utf-8",
InterfacesLibrary.Enums.Http.ResponceType.HeaderOnly,
5000,
"",
"",
true,
5,
new []
{
"Host: "+Host,
"User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36",
"Accept-Encoding: gzip, deflate, br",
"Accept-Language: ru-RU,ru;q=0.7,en-US;q=0.5,en;q=0.3",
"Connection: keep-alive",
"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Cookie: ",
"Upgrade-Insecure-Requests: 1"
}
);
// Выдергиваем Regex кодировку
ContentType = System.Text.RegularExpressions.Regex.Match(response, @"(?<=charset=).*").Value;
//ContentType = "windows-1251";
response = ZennoPoster.HttpGet(
url,
"",
ContentType,
InterfacesLibrary.Enums.Http.ResponceType.BodyOnly,
5000,
"",
"",
true,
5,
new []
{
"Host: "+Host,
"User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36",
"Accept-Encoding: gzip, deflate, br",
"Accept-Language: ru-RU,ru;q=0.7,en-US;q=0.5,en;q=0.3",
"Connection: keep-alive",
"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Cookie: ",
"Upgrade-Insecure-Requests: 1"
}
);
project.Variables["DOM"].Value = response;
if(response == "")
{
project.SendErrorToLog("Пустой ответ", true);
return null;
}
Как это можно исправить?