如何在不使用urllib、urllib2和urllib3模块的情况下下载python中的文件?我都不能使用请求模块

如何在不使用urllib、urllib2和urllib3模块的情况下下载python中的文件?我都不能使用请求模块,python,python-3.x,Python,Python 3.x,我有一个问题,因为我需要使用python下载一个文件,但我不能使用库urllib、urllib2和urllib3 如果有人能帮助我,我非常感谢他你需要在航站楼做wget才能拿到包裹。为什么你不能用这些!?(我无法置评) 如果不能使用urllib的包,请尝试使用请求获取文件的数据并将其写入路径 要下载带有请求的文件,请使用以下示例 以下是异步函数的aiohttp示例: import aiohttp async def download_file(url): async with aioh

我有一个问题,因为我需要使用python下载一个文件,但我不能使用库urllib、urllib2和urllib3


如果有人能帮助我,我非常感谢他

你需要在航站楼做wget才能拿到包裹。为什么你不能用这些!?(我无法置评)

如果不能使用urllib的包,请尝试使用
请求
获取文件的数据并将其写入路径

要下载带有
请求的文件,请使用以下示例

以下是异步函数的aiohttp示例:

import aiohttp

async def download_file(url):
    async with aiohttp.ClientSession() as session:
        async with session.get(url) as resp:
            with open(filename, 'wb') as fd:
                while True:
                    chunk = await resp.content.read(chunk_size)
                    if not chunk:
                        break
                    fd.write(chunk)

url = "URL"
await download_file(url)

如果您不使用请求,我建议使用aiohttp。

您可以使用
子流程
模块和
curl
命令

import subprocess
result = subprocess.run(['curl', 'https://www.google.com'], stdout=subprocess.PIPE)
# do with result

多亏了大家,我终于可以解决我的问题了 我给你我用过的解决方案

import * from socket
    s = socket(AF_INET, SOCK_STREAM)
    s.connect((url, port))
    file_mess="GET /" + step2[:5] + " HTTP/1.1\r\n\r\n"
    s.send((file_mess).encode('utf-8'))
    print(s.recv(1024).decode('utf-8'))
    print(s.recv(1024).decode('utf-8'))

我使用了第二次打印来获取所有数据,因为第一次打印时,我只得到了200 OK

,您可以使用
wget
包。为什么你不能使用其他的呢?我正在做一项工作,但是有了这个库,我可以做到。我使用Python3.6,wget不起作用。如果你不能评论,你可以使用,不要。提供一个完整的答案,当你可以做rn时,我实际上必须传输设备,OP声明:“我不能使用库urllib、urllib2和urllib3请求”
import * from socket
    s = socket(AF_INET, SOCK_STREAM)
    s.connect((url, port))
    file_mess="GET /" + step2[:5] + " HTTP/1.1\r\n\r\n"
    s.send((file_mess).encode('utf-8'))
    print(s.recv(1024).decode('utf-8'))
    print(s.recv(1024).decode('utf-8'))