Почему мой сценарий python, использующий пакет requests
, не может загрузить файл tar.gz, в то время как команда BASH wget
может? Он пожаловался, что запрошенный ресурс не может быть найден (412). Как мне решить эту проблему?
Обновление: Я обнаружил, что после деактивации VPN мой сценарий python может работать. Это не будет работать, когда VPN активирован. Однако wget
работал, когда VPN активирован и не активирован. Почему это так? Есть ли какие-то настройки, которые необходимо выполнить на requests
, чтобы преодолеть статус 412?
Мой Python3 .6 сценарий:
#!/usr/bin/python3.6
# -*- coding: utf-8 -*-
from pathlib import Path
import requests
import sys
def download_sdk( url, sdkname ):
print( f'\nDownloading SDK...' )
print( f'url = {url}' )
print( f'sdkname = {sdkname}' )
r = requests.get( url )
#response less than 400 response, open in binary mode and write sdk to user defined vulkan directory
if r.ok:
with open( sdkname, "wb" ) as file:
file.write( r.content )
else:
sys.exit( print( f'Quit: requests_status_code={r.status_code}' ) )
print( f'\nDownload Completed.' )
return True
sdk = f'vulkansdk-linux-x86_64-1.1.121.1.tar.gz'
url = f'https://sdk.lunarg.com/sdk/download/1.1.121.1/linux/{sdk}?u='
sdkname = Path.cwd() / sdk
download_sdk( url, sdkname )
Python вывод сценария:
Downloading SDK...
url = https://sdk.lunarg.com/sdk/download/1.1.121.1/linux/vulkansdk-linux-x86_64-1.1.121.1.tar.gz?u=
sdkname = /home/master/Vulkan/Installers/vulkansdk-linux-x86_64-1.1.121.1.tar.gz
Quit: requests_status_code=412
BASH Команда wget
может загрузить файл tar.gz.
$ wget https://sdk.lunarg.com/sdk/download/1.1.121.1/linux/vulkansdk-linux-x86_64-1.1.121.1.tar.gz?u=
--2020-06-17 23:11:28-- https://sdk.lunarg.com/sdk/download/1.1.121.1/linux/vulkansdk-linux-x86_64-1.1.121.1.tar.gz?u=
Resolving sdk.lunarg.com (sdk.lunarg.com)... 2604:86c0:5000:3::3, 38.143.66.106
Connecting to sdk.lunarg.com (sdk.lunarg.com)|2604:86c0:5000:3::3|:443... failed: Connection refused.
Connecting to sdk.lunarg.com (sdk.lunarg.com)|38.143.66.106|:443... connected.
HTTP request sent, awaiting response... 200 OK
Syntax error in Set-Cookie: u=H0TJAB4JavYv3jKUtK1SDiu2UjlaBDHatNkvDosqN8ppYXwEVEX45Z60GLqE%0A6k5%2BerCS3KZHcD8RhV7liLcoYQ%3D%3D; ; path=/; SameSite=Lax at position 100.
Syntax error in Set-Cookie: a=XZxs35QBwvluz8x%2Bgl5n4w%3D%3D; expires=Fri, 10 Jun 2050 15:11:31 +0000; ; path=/; SameSite=Lax at position 74.
Length: 119858765 (114M) [application/octet-stream]
Saving to: ‘vulkansdk-linux-x86_64-1.1.121.1.tar.gz?u=’
vulkansdk-linux-x86_64-1.1.121.1.tar.gz?u= 100%[====================================================================================================================>] 114.31M 576KB/s in 3m 12s
2020-06-17 23:14:43 (610 KB/s) - ‘vulkansdk-linux-x86_64-1.1.121.1.tar.gz?u=’ saved [119858765/119858765]