weixin_47578886 2022-04-07 00:11 采纳率: 69.7%
浏览 118
已结题

如何用python实现自动将文件上传到网页上去

我的桌面有一个叫zld.txt的文件,如何通过python将此文件每一个小时扫描一次桌面,若发现zld.txt文件就自动将此文件上传到某个网页上去,并将此文件删除。

  • 写回答

6条回答 默认 最新

  • 关注

    参考

    参考代码

    import os
    import time
    import requests,sys, requests
    from requests_toolbelt.multipart.encoder import MultipartEncoder
    
    def upfile(argv_dict):
        url = 'http://127.0.0.1/sendmsg'
    
        headers = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:50.0) Gecko/20100101 Firefox/50.0',
            'Referer': url
            }
    
        multipart_encoder = MultipartEncoder(
            fields={
                'username': argv_dict['username'],
                'pwd': argv_dict['pwd'],
                'type': 'txt',
                'friendfield': argv_dict['friendfield'],
                'friend': argv_dict['friend'],
                'content': argv_dict['content'],
                'file': (os.path.basename(argv_dict['file']) , open(argv_dict['file'], 'rb'), 'application/octet-stream')
                #file为路径
                },
                boundary='-----------------------------' + str(random.randint(1e28, 1e29 - 1))
            )
    
        headers['Content-Type'] = multipart_encoder.content_type
        #请求头必须包含一个特殊的头信息,类似于Content-Type: multipart/form-data; boundary=${bound}
    
        r = requests.post(url, data=multipart_encoder, headers=headers)
        print(r.text)
        #注意,不要设置cookies等其他参数,否则会报错
    
    
    
    while True:
        path = r"C:\Users\XXXXXXXXXX\Desktop\zld.txt" #路径
        if os.path.isfile(path):
            upfile({'username':'lykchat','pwd':'123456','type':'txt','friendfield':'1','friend':'xxxx','content':'恭喜发财','file':path})
            print("上传完毕删除",path)
            os.remove(path)
        time.sleep(3600)
    
    

    如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 4月18日
  • 已采纳回答 4月10日
  • 创建了问题 4月7日