Python вход на сайт с запросами 403 - PullRequest
0 голосов
/ 16 июня 2020

Хорошо, поэтому я пытаюсь войти в Paf, букмекерскую контору Paf Для этого я открыл вкладку сети и нашел логин XHR. Я импортировал его в Postman, и отсюда начинаются проблемы. Когда я копирую это в почтальоне, иногда это работает, и я вхожу в систему, а иногда мне отказывают и возвращают 403. В python мне никогда не удавалось заставить его работать. Вот код.

url = "https://www.paf.es/player/authentication/authentication/login"
payload = "loginSite=NCI&captchaToken=&username=yyyyyyy%40somemail.com&password=xxxxxxx&blackbox=0400bpNfiPCR%2FAUNf94lis1ztok6MSuiczXY0tDROUZojdqzC0SBj4tqILEfVk9EjAzqePD%2B6MDJh1sYpm3kktOFO%2BixLXGBICA18sQyiQagYnGOXIeSelPnVtt7kd0jYC%2BziQDzJRt9030xcRGUjs6daICsz56QWgD%2F33VnRmRnmQREGPgpY2s7pH8%2BOxuE2aJN8cFCb3XpK0LXm0XBtvk2RW2s0fO33l4%2BBez6hBBzrS2usa2jjh0Vn%2BTQHjy7H5XhLHCHAGY3J0jpLqVrSVzsI1LB6M5fl2EoMEAoEitEttFUo1DRkUtPGIlVWXcn%2FenpFms6VAda7lp4VShbY%2BEVBD6upMsx8e%2B4a0Yy5JnHYpOw9GzzsNyXFyTPX1OYiadhVMqss3WXS%2F9LKU8GO%2Fgpff%2BhO30d4hbD3vVcVKj%2Bgrt3xBfNPgHEBxRXkEtSPMdjuKahW%2BTNZpVi7ZQHXsvtNMDhgphGlniWpiIn%2F4g7jAnC1AevYOBPe8UvRkxkPz1xa177w9ypqz8JB%2Fs4Mwp5brrv8kF7JAww2MibBJjg6WiWTOfoeutiVmIPArjDreTCT43R5j%2Bo8w4MMZf1UIs0%2BZpFCiW2FS3sSzKz6zFbyZbyxPMQMv7YZ9mxtLKX2QfncSs2NHNZzAKJVVl3J%2F3p6ThESQAn729%2BQEdu2XYvr46icoEUIBl9dJXAAYR3cfgvWnUHhXIkRJtofM5fO4%2F4C0OCbnRzpX9Skp62yUjciLFgfUflhWun3cYn8q04UaLxEp48DVRl0oBkPCJz7Ln%2Bv5KTIBvOIMzuTzEBdNLiXsPV6scyeMvquKgBCHz1%2FQUZbZ%2BNCYNO3AGZZPKxjORnZJYwJVsFx3E%2F58zGq%2FhZ0ZoyseD0G1%2FThxEIvsJRqGfF9spFd7LTpxjhrt64WqIxSK%2BVx63F6egN3u5bh8qtOMZhKoST0dhOCOCSU0oZPWNEfF9hXdZ4DRRkrbXWcoCj3I1znntcmg8XaxssYBl%2BZKP9rxZ7qeEFWfQxr6rPk0R66FipMXjd%2FZCQts%2Fel6RASly8YlfKJFPIWnaQSK4FgIQ2KLMhBFfzwp5ezDnIzltHD%2BNUShNlKYEsPiZXdNCqfFfsXZFLyZkrk0CgNf1s4GkGpUeravdrC6H%2FedFuJJseB8n%2FNyT5AQL3W8POr0bHFWf5a8LChWIdQuDB7h6M5D0gX3A4cAE9Y2r0rvbBRVd53BOJ2d5nlZ6oNBEkNZ1jV88%2FIN75eNyYiuv6Xcf4KsLu7jMW9twT7WzYkRB3A7a1GhZRiAtDXfT%2Fn1vlzZttEK2CJ7ndgYBJHrsfG3dRGWsFc%2BWqw46CU%2B13wFOzF3vcPQ1QY3ShgnEkFAFZCyesMu7HHpvvKX%2FfYSiKAEuBlRU6tXfh13lbRzgE%2BBS6Wc4TlU99UoH2xkmhtiTqNKr8fbmZdRSv9WnpbI5wM%2FL155vFIUmG3%2B4NhXO0phpf%2F5ZVYjEuRR5PPTQ%3D&fpBlackbox=0400AY1YRP7DGIANf94lis1ztok6MSuiczXY0tDROUZojdqzC0SBj4tqID5Y7m0Dsmfph%2B5WGAJ3zKAMgog1WtCs0qVE0zi9tNjAEtiE5Z3BLxV7HVMsBHJtSvhfflTR5XM9lcABhHdx%2BC%2FedkQFDysAsy0AH2WgO40osBx6w1tx0mMZz7HtmSQrKuHt39bvxE86eVaYJEF00M2dmwpFJMf4g5EZCLAlgQcTe7vn%2BXqBJZuXiCH8xkZrslSAFu7g0I1zPRgte45Z4XN%2FOLQIBM6qk8p%2FaGHCqy0nT43R5j%2Bo8w4MMZf1UIs0%2BYLDq0Q2USEjSzKz6zFbyZbyxPMQMv7YZ9mxtLKX2QfncSs2NHNZzAKJVVl3J%2F3p6ThESQAn729%2BQEdu2XYvr46icoEUIBl9dJXAAYR3cfgvtSVPrbgATwhKn4II0n46KK6xraOOHRWfd6dlY8UTIEiJKSIdwO9O5Z%2F8KrD4hgXHxKZFk5ZzIuZJsxD5GvQXD36mAJ3ZTHu2%2F%2BJ9zhFhYYI8MYFkB7lXNOjQ1FpzmWDe3BOJ2d5nlZ52%2BncQ4qJLHo4LRx6qhNvIb%2BbdmrG3fDUGfovGhY6dm7riuvTsvBEZdmnJzuhAhXrfFp00TaOpvqjcgAR1sH7E35i1sausw1QAe2Ws49yiWyR58%2BnO7ohVDXMzdeKt5ctBE3u%2Bl3pPzdPtb5t32w%2BK6AChPwpbigEjD94m%2BIF3m88RgheRuYq%2FSXDFPkQXiOnn4Grm6TdCPmNTC64gnPr3898GnyP1mBzDml2BTd4VK%2FTSTtImlaFi04I8%2BUmetTbTn6b%2Bz24SKe%2BwPwB7YcyEzaLA5q3OH7fU9ek3jOXYhB3%2B1lLYqHZEKz3w%2FI0nmzLhgKOPFvX5Riu7XMgvgMfyhMAxfCYPjuZH1PMOKtmPjHrMvP3mc7m1iuv6Xcf4KsKmIp9BYuLJ691PcHCDqq8NhrFwEXlPvZIowKZVh3lEgMsJ5bgFWtzKFw4ROYZJxyA%3D"
headers = {
              'authority': 'www.paf.es',
              'accept': 'application/json, text/plain, */*',
              'x-requested-with': 'XMLHttpRequest',
              'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36',
              'content-type': 'application/x-www-form-urlencoded;charset=UTF-8',
              'origin': 'https://www.paf.es',
              'sec-fetch-site': 'same-origin',
              'sec-fetch-mode': 'cors',
              'sec-fetch-dest': 'empty',
              'referer': 'https://www.paf.es/',
              'accept-language': 'es-ES,es;q=0.9,en;q=0.8',
              'cookie': '__cfduid=d4247b3fce5d260d7c5257b5d65a572001592254859; com.paf.frontend.common.LocaleCookie=es_ES; com.paf.frontend.common.LifeCycleCookie=PROSPECT; com.paf.frontend.common.device=desktop; com.paf.frontend.common.tid=974d1873-6638-4246-bf67-f51828e47620; JSESSIONID=ldq5yQi8ECI61icXHNOseCcAelTpGUW2l_okMkxEL0zBJAQCD-jfu0021151447412; com.paf.frontend.common.journeycookie=paf-program-id=6331&paf-program-id-hash=6032d61e305edfbd5a1e6ab5d6d667f76098fbac4ce8a99c6dc68504a05642ed; BIGipServerprod01_pool=1067697930.22811.0000; __cf_bm=5eab9f3849498c5dbca21928e913480809882400-1592254860-1800-ATxl1o2pNsPocq+5ZfuH2vfeFL+kvZlCg2NgwQ4K3mBF/XfI0HcUPcuIjpAmy1MExYuswC3JLcWZQHLhQC2aDl8=; LaVisitorNew=Y; LaVisitorId=ol7l89e9rynpjs165thh765oc9ujt; LaSID=qugayn3m2tpvsmh1dgpuk36bkmbzh; _gcl_au=1.1.193127229.1592254863; _ga=GA1.2.484179826.1592254863; _gid=GA1.2.1016568931.1592254863; trackingParams={"_ga":{"value":"GA1.2.484179826.1592254863","expiration":1600030862876},"utm_nooverride":{"value":"1","expiration":1600030862876}}; _gat_UA-641842-15=1; _fbp=fb.1.1592254863595.468566668; com.paf.frontend.cookiesAccepted=true; com.paf.frontend.common.showMenu=account; com.paf.frontend.common.LocaleCookie=es_ES; JSESSIONID=m4650rp-X0aJYw_6b8-3ghQIOU-h1luYOQV4dAwZz6UGVc4RanvZ!151447412; com.paf.frontend.common.LoginTime=1592255494930; com.paf.frontend.common.LoggedIn=true; __cfruid=3ffb40834f313a4c2b4d351d24f9a946ff5f7db9-1592255495'
            }


response=requests.post(url=url,headers=headers,data=payload)

<!DOCTYPE html>
<html lang="en">

<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<meta http-equiv="X-UA-Compatible" content="ie=edge">
	<meta name="robots" content="noindex">
	<meta name="googlebot" content="noindex">
	<style>
		...
	</style>
	<title>Request Rejected</title>
	<script>
		!function(e,a,t,n,g,c,o){e.GoogleAnalyticsObject=g,e.ga=e.ga||function(){(e.ga.q=e.ga.q||[]).push(arguments)},e.ga.l=1*new Date,c=a.createElement(t),o=a.getElementsByTagName(t)[0],c.async=1,c.src="https://www.google-analytics.com/analytics.js",o.parentNode.insertBefore(c,o)}(window,document,"script",0,"ga"),ga("create","UA-87347596-1","auto"),ga("send","pageview");
	</script>
</head>

<style>
	...
	}
</style>

<body>

	<div class="page">

		<header>
            </header>

			<main>

				<section class="content">

					<article class="message-box">
						<h1>We are unable to show you our gaming site</h1>
						<p>
							There may be some restrictions in your current location. If you have any queries please
							contact <a
								href="mailto:helpdesk@paf.com?subject=Blocked page with ID <%TS.request.ID()%>">helpdesk@paf.com</a>
							using the support ID below.
						</p>
						<p>
							Your support info: 5a4479cee89e1151 <div class="cf-error-details cf-error-1020">
								<h1>Access denied</h1>
								<p>This website is using a security service to protect itself from online attacks.</p>
								<ul class="cferror_details">
									<li>Ray ID: 5a4479cee89e1151</li>
									<li>Timestamp: 2020-06-16 12:18:51 UTC</li>
									<li>Your IP address: 84.123.231.165</li>
									<li class="XXX_no_wrap_overflow_hidden">Requested URL:
										www.paf.es/player/authentication/authentication/login </li>
									<li>Error reference number: 1020</li>
									<li>Server ID: FL_40F129</li>
									<li>User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,
										like Gecko) Chrome/83.0.4103.106 Safari/537.36</li>
								</ul>
							</div>

						</p>
					</article>

				</section>

				<section class="content info">
					<div class="content-header margin-top">
						<h2>About Paf</h2>
						<p>For more information about Paf please visit our corporate site <a
								href="https://aboutpaf.com">aboutpaf.com</a>. This site provides in-depth detail about
							Paf as a business and how our profit is used to benefit society. It’s also where you look if
							you want to work with us.<br><br></p>
					</div>
					

				</section>

			</main>

	</div>

</body>

</html>

Я также пробовал следующее, что видел в сообщении Stackoverflow

r=requests.Session()
r.get(url)

Я получаю следующее

r.cookies
<RequestsCookieJar[Cookie(version=0, name='__cfduid', value='d57b2841b44f40c41c0910f5b1d382f1a1592310155', port=None, port_specified=False, domain='.paf.es', domain_specified=True, domain_initial_dot=True, path='/', path_specified=True, secure=True, expires=1594902155, discard=False, comment=None, comment_url=None, rest={'HttpOnly': None, 'SameSite': 'Lax'}, rfc2109=False)]>

Я пытаюсь изменить значение в заголовке cook ie из приведенного выше, но все равно не могу заставить его работать, та же ошибка. Почему в почтальоне срабатывает только иногда? Почему не работает с Python? Как мне go об этом?

РЕДАКТИРОВАТЬ: Если это помогает, после выполнения предыдущего запроса на получение, это заголовки

s=requests.Session()
r=s.get(url)
r.headers

{'Date': 'Tue, 16 Jun 2020 21:08:58 GMT', 'Content-Type': 'text/html; charset=UTF-8', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'X-Frame-Options': 'SAMEORIGIN', 'Cache-Control': 'private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0', 'Expires': 'Thu, 01 Jan 1970 00:00:01 GMT', 'cf-request-id': '03608fcbc20000ff70f6091200000001', 'Expect-CT': 'max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"', 'Vary': 'Accept-Encoding', 'Strict-Transport-Security': 'max-age=15552000; includeSubDomains; preload', 'X-Content-Type-Options': 'nosniff', 'Server': 'cloudflare', 'CF-RAY': '5a4782593f1eff70-MAD', 'Content-Encoding': 'gzip', 'alt-svc': 'h3-27=":443"; ma=86400'}
...