Python用GET方法上传文件

(编辑:jimmy 日期: 2025/9/30 浏览:2)

之前在osc看到一个文章讨论Get和Post的不同, 有人说不能用Get来上传文件。这就是用Get上传文件的例子,client用来发Get请求,server用来收请求。文件内容是在http请求的body内传过去的。用了不同的语言,因为我觉得各自处理起来都要方便些。而且我觉得浏览器也是可以发出这样的请求的,之后我会尝试一下。

请求端代码

复制代码 代码如下:
import requests #需要安装requests
with open('test.txt', 'rb') as f:
    requests.get('http://127.0.0.1:9999', data=f)

服务端代码

复制代码 代码如下:
var http = require('http');
var fs = require('fs');
var server = http.createServer(function(req, res){
    //console.log(req);
    var recData = "";
    req.on('data', function(data){
        recData += data;
    })
    req.on('end', function(data){
        recData += data;
        fs.writeFile('recData.txt', recData, function(err){
            console.log('file received');
        })
    })
    res.end('hello');
})
server.listen(9999);

以上就是本文的所有代码了,希望对大家理解get方法上传文件能够有所帮助。

一句话新闻

一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?