При создании exeшника запросы отправляются некорректно
написал программу, которая отправляет запросы на сервер. При запуске через PyCharm все запросы отправляются корректно. Код ответа 200. И весь корректный ответ. Но при запуске через не через виртуальную среду(имеется в виду venv используемую в PyCharm) или через ,скомпилированный с помощью pyinstaller, exeшник, код ответа меняется на 403. И защита сайта принимает запросы за спам. Использование прокси не помогает. НО если использовать локальный прокси от Burp Suite, то запросы все работает нормально. Вопрос: Из-за чего ответ меняется? И как мне это исправить?
Отрывок из кода:
post_data = {'text': '%D1%82%D0%B5%D1%81%D1%82', 'options': 4}
url = f'https://translate.yandex.net/api/v1/tr.json/translate?id={self.id}-2-0&srv=tr-text&lang=ru-en&reason=paste&format=text&yu={yu}&yum={yum}'
if spravka != '':
url = f'https://translate.yandex.net/api/v1/tr.json/translate?id={self.id}-2-0&srv=tr-text&lang=ru-en&reason=paste&format=text&yu={yu}&yum={yum}&sprvk={spravka}'
print(url)
headers2 = CaseInsensitiveDict()
headers2["Host"] = "translate.yandex.net"
headers2["Connection"] = "close"
headers2["Content-Length"] = "39"
headers2["User-Agent"] = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36"
headers2["sec-ch-ua-platform"] = '"Windows"'
headers2["sec-ch-ua-mobile"] = "?0"
headers2["Content-Type"] = "application/x-www-form-urlencoded"
headers2["Accept"] = "*/*"
headers2["Origin"] = "https://translate.yandex.ru"
headers2["Sec-Fetch-Site"] = "cross-site"
headers2["Sec-Fetch-Mode"] = "cors"
headers2["Sec-Fetch-Dest"] = "empty"
headers2["Referer"] = "https://translate.yandex.ru/?lang=ru-en&text=%D1%82%D0%B5%D1%81%D1%82"
headers2["Accept-Encoding"] = "gzip, deflate"
headers2["Accept-Language"] = "ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7"
res = requests.post(url, data=post_data, headers=headers2, verify=False, cookies={})
P.S. Переменный yu, yum, self.id, spravka получаются выше в программе. С ними все корректно.
P.S2. requests в обоях средах одной версии
UPD:
Текс ошибки 403:
<!DOCTYPE html>\n
<html>
<head>
<title>403</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">\n
<style>
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
color: #000;
background-color: #fff
}
.header {
height: 48px
}
.header__logo {
display: inline-block;
overflow: hidden;
width: 130px;
height: 48px;
white-space: nowrap;
text-indent: 100%;
background-repeat: no-repeat;
background-position: center bottom
}
.header__code {
font-size: 32px;
display: inline-block;
overflow: hidden;
width: 76px;
height: 48px;
text-align: center;
color: #fff;
background-color: #999
}
.header__logo_lang_ru {
background-image: url(//yastatic.net/islands/_/5vJOTgN-leXxtlxIFPiM-vfC24o.png)
}
.header__logo_lang_en {
background-image: url(//yastatic.net/islands/_/fGdVzvAAq7J8px5LpiysN6M_sy8.png)
}
.content {
font-size: 15px;
line-height: 20px;
margin: 20px 0 30px;
padding-left: 25px
}
.content__h1 {
font-size: 21px;
font-weight: 400
}
.footer {
line-height: 30px;
height: 30px;
padding: 0 25px;
border-top: 1px solid #eee
}
.footer__copyright {
font-size: 13px
}
.link {
color: #44b
}
.link:hover {
color: #e00
}
</style>\n
<!--[if gt IE 8]><!-->
<link rel="stylesheet" href="captcha.min.css" />
<!--<![endif]-->
<!--[if lte IE 8]><link rel="stylesheet" href="captcha.ie.min.css"/><![endif]-->\n</head>
<body>
<div class=\ 'header\'>\n <a class="header__logo header__logo_lang_en" href="//www.yandex.com/">Yandex</a>\n
<div class=\ 'header__code\'>403</div>
</div>
<div class=\ 'content\'>\n
<h1 class="content__h1">Access to our service has been temporarily blocked.</h1>
<p>Your computer may be infected with a virus, which is sending repeated requests to Yandex.
<br>We recommend you scan your computer with an antivirus or contact your network administrator.</p>
<p>If you come across any problems or would like to ask a question, please do not hesitate to contact our Support service using the <a class="link" href=\ 'https://yandex.com/support/smart-captcha/?unique_key=cd5d469e-89d39849-95a729b0-63093702\' onclick="ym(15897442, \'reachGoal\', \'support_complain\', { \'req_id\': \'\' }); return true;">contact us form</a>.</p>\n
<p>cd5d469e-89d39849-95a729b0-63093702</p>\n</div>
<div class=\ 'footer\'><span class=\ 'footer__copyright\'>\xc2\xa9 \xd0\xaf\xd0\xbd\xd0\xb4\xd0\xb5\xd0\xba\xd1\x81</span></div>
<!-- Yandex.Metrika counter -->
<script type="text/javascript">
(function(m, e, t, r, i, k, a) {
m[i] = m[i] || function() {
(m[i].a = m[i].a || []).push(arguments)
};
m[i].l = 1 * new Date();
k = e.createElement(t), a = e.getElementsByTagName(t)[0], k.async = 1, k.src = r, a.parentNode.insertBefore(k, a)
})(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
ym(15897442, "init", {
clickmap: true,
trackLinks: true,
accurateTrackBounce: true,
webvisor: true,
ut: "noindex",
params: {
"service": "translate",
"req_id": "",
"ident_type": "1",
"unique_key": "cd5d469e-89d39849-95a729b0-63093702"
}
});
</script>
<noscript>
<div><img src="https://mc.yandex.ru/watch/15897442?ut=noindex" style="position:absolute; left:-9999px;" alt="" /></div>
</noscript>
<!-- /Yandex.Metrika counter -->
</body>
</html>