用python开启临时http服务器及其ipv6支持

1,113次阅读
没有评论

python可以只用一行代码创建简单的http服务器,用来把linux的vps中文件拖回本地非常方便
高校的同学也可以用这个方法,通过ipv6给同学分享文件

pyhton3

python -m http.server
之后会看到输出Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) …

pyhton2

python -m SimpleHTTPServer
之后会看到输出Serving HTTP on 0.0.0.0 port 8000 …
之后在浏览器地址栏输入 ip地址:端口 即可访问

但是问题来了,无论py2还是py3,默认都不支持ipv6

为了解决ipv6支持的问题,2、3的方法还是略有区别

python3

python3安装目录/lib/http/server.py 的如下位置添加带有加号的两行
就是把
server_address = (bind, port) HandlerClass.protocol_version = protocol
改成
server_address = (bind, port) if ':' in bind: ServerClass.address_family = socket.AF_INET6 HandlerClass.protocol_version = protocol
然后代码
python -m http.server -b [::]
之后会看到输出Serving HTTP on :: port 8000 (http://:::8000/) …

python2

不用修改文件,直接一行代码
python -c "import socket,SocketServer,CGIHTTPServer;SocketServer.TCPServer.address_family=socket.AF_INET6;CGIHTTPServer.test()" 8080
之后会看到输出Serving HTTP on :: port 8080 …
实际上py2的这一行代码,是有如下三行的脚本文件生成的,python调用这个脚本,8080为其参数,是端口

import socket,SocketServer,CGIHTTPServer
SocketServer.TCPServer.address_family=socket.AF_INET6
CGIHTTPServer.test()

注意

1.浏览器访问ipv6地址需要加方括号
[ipv6地址]:端口

2.文件分享的路径就是命令行当前工作目录

3.代码运行在操作系统命令行,不是python命令行,例如win的cmd或者powershell,linux的bash命令行等

正文完
可以使用微信扫码关注公众号(ID:xzluomor)
post-qrcode
 0
评论(没有评论)

文心AIGC

2024 年 4 月
1234567
891011121314
15161718192021
22232425262728
2930  
文心AIGC
文心AIGC
人工智能ChatGPT,AIGC指利用人工智能技术来生成内容,其中包括文字、语音、代码、图像、视频、机器人动作等等。被认为是继PGC、UGC之后的新型内容创作方式。AIGC作为元宇宙的新方向,近几年迭代速度呈现指数级爆发,谷歌、Meta、百度等平台型巨头持续布局
文章搜索
热门文章
最新评论
王光卫博客 王光卫博客 用户思维很有必要对用户进行数据分析
王光卫博客 王光卫博客 我们活得居然不如AI,唉
王光卫博客 王光卫博客 正在找能理解中国古汉语的AI :cry:
□惊叹号!! □惊叹号!! 可以领券
一路向北 一路向北 已经添加
一路向北 一路向北 申请友情链接: 名称:烙馍省钱 网址:https://tb-m.luomor.com/ 已添加文心AIGC
一路向北 一路向北 申请友情链接: 名称:烙馍网 网址:https://www.luomor.com/ 已添加文心AIGC
一路向北 一路向北 ChatGPT要取代部分程序员了
热评文章