Python3(19):Python3 request下载文件代码(可以直接调用)

Python3(19):Python3 request下载文件代码(可以直接调用)

一、requests库下载和上传

使用Python中的requests库,你可以方便地进行下载和上传操作。以下是简单的示例:

import requests

url = 'https://example.com/file.zip'  # 替换为你要下载的文件的URL
response = requests.get(url)

if response.status_code == 200:
    with open('downloaded_file.zip', 'wb') as file:
        file.write(response.content)
    print('下载成功!')
else:
    print(f'下载失败,状态码: {response.status_code}')

上传文件

import requests

url = 'https://example.com/upload'  # 替换为你要上传的目标URL
files = {'file': open('local_file.txt', 'rb')}  # 替换为你要上传的本地文件路径

response = requests.post(url, files=files)

if response.status_code == 200:
    print('上传成功!')
else:
    print(f'上传失败,状态码: {response.status_code}')

在上传文件的例子中,files参数是一个字典,其中键是字段的名称,值是包含文件内容的打开的文件对象。确保替换示例中的URL和文件路径以符合你的实际需求。

二、Python3 下载文件示例

1、下载示例

# -*- coding: utf-8 -*-

"""
Create by HMF on 2021/02/05.
"""
import re,time
import requests
import json
from casb import Login


class Getfile(object):  #下载文件

    def __init__(self,url,headers):
        self.url=url
        self.headers=headers

    def getheaders(self):
        try:
            r = requests.head(self.url,headers=self.headers,verify=False)
            rs_headers = r.headers
            return rs_headers
        except Exception as e:
            print(e)

    def getfilename(self):  #获取默认下载文件名
            if 'Content-Disposition' in self.getheaders():
                file = self.getheaders().get('Content-Disposition')
                #filename = re.findall('filename="(.*)"',file)
                filename = re.split("=", file)[1]
            if filename:
                #print (filename)
                return filename

    def downfile(self,filename):  #下载文件
        self.r = requests.get(self.url,headers=self.headers, stream=True, verify=False)
        with open(filename, "wb") as code:
            for chunk in self.r.iter_content(chunk_size=1024): #边下载边存硬盘
                if chunk:
                    code.write(chunk)
        time.sleep(1)


if __name__ == '__main__':
    #登录
    host="10.1.1.181"
    lo=Login(host)
    accessToken =lo.login()
    print(accessToken)

    # 获取文件名$下载客户端
    down_url = "https://"+host+"/create-download?random=1612169115912"  # 目标下载链接
    header_all= {"Content-Type": "application/json"}
    header_all['Authorization'] = "Bearer " + accessToken
    #print (down_url,header_all)
    #r =Getfile(down_url,header_all).getheaders()   #获得head,调试用
    filename = Getfile(down_url, header_all).getfilename()
    print(filename)

    Getfile(down_url, header_all).downfile(filename)

2、登录代码:

# -*- coding: utf-8 -*-

"""
Create by HMF on 2021/02/05
"""
import requests
import json


class Login(object):  #登录
    def __init__(self,host):
        self.host=host

    def login(self):
        try:
            requests.packages.urllib3.disable_warnings()
            header = {"Content-Type": "application/json"}
            data = {"username": "YWWSWW", "password": "bGlhblNoaTIwMjA="}
            url = "https://"+self.host+"/login?random=1612094645702"
            #print (url)
            response = requests.post(url, data=json.dumps(data), headers=header, verify=False)
            apijson_login = response.json()  # 获取请求返回实际结果的json串值
            #print(apijson_login)
            accessToken = apijson_login["data"]["accessToken"]
            return accessToken
        except Exception as e:
            print(e)

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: 好的,这是一个技术类问题,我可以回答。在Python中,可以使用Flask或Django等Web框架来处理request和响应response,并根据不同的url来返回不同的页面。你可以根据具体的需求选择不同的框架,并编写相应的路由函数来实现此功能。如果需要更详细的信息,可以参考相关的文档和教程。 ### 回答2: Python可以通过使用Web框架(如Flask或Django)来处理request和响应response,并根据URL来提供不同的页面。下面是一个简单的示例代码: ```python from flask import Flask, render_template app = Flask(__name__) @app.route('/') def home(): return '这是首页' @app.route('/about') def about(): return '关于我们' @app.route('/contact') def contact(): return '联系我们' @app.route('/user/<username>') def user(username): return '欢迎,%s!' % username if __name__ == '__main__': app.run() ``` 上面的代码使用Flask框架创建了一个简单的Web应用。当访问不同的URL时,会调用相应的函数并返回不同的页面。 - 当访问根URL('/')时,会返回字符串'这是首页'; - 当访问'/about'时,会返回字符串'关于我们'; - 当访问'/contact'时,会返回字符串'联系我们'; - 当访问'/user/username'时,会返回包含欢迎用户名的字符串。 注意,这些示例只返回简单的字符串,实际应用中可以使用HTML模板来渲染更复杂的页面。 这样,根据不同的URL,我们可以响应不同的页面内容。 ### 回答3: Python可以使用Web框架(如Flask或Django)来处理请求和响应,并根据URL返回不同的页面。 首先,我们需要导入相关的库和模块。比如,对于Flask框架,我们需要导入Flask类和request模块。 ```python from flask import Flask, request ``` 然后,我们可以创建一个Flask应用程序,并定义路由。路由是指将不同URL与不同函数关联起来,以便根据URL返回不同的页面。 ```python app = Flask(__name__) @app.route('/') def index(): return 'This is the home page' @app.route('/about') def about(): return 'This is the about page' @app.route('/contact') def contact(): return 'This is the contact page' ``` 在上面的例子中,我们定义了三个路由:'/'表示根URL,'/about'表示关于页面,'/contact'表示联系页面。每个路由对应一个函数,当应用程序收到GET请求时,会调用相应的函数,并返回对应的页面。 最后,我们需要运行应用程序,使其在指定的主机和端口上监听请求。 ```python if __name__ == '__main__': app.run(host='0.0.0.0', port=5000) ``` 请注意,上面的例子只是一个简单的示例。在实际开发中,我们还可以使用模板引擎来构建动态页面,并处理POST请求等其他功能。 以上就是一个处理请求和响应的Python代码示例,根据URL返回不同页面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宁宁可可

您的鼓励是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值