Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
汇龙科技
模拟HTTP请求工具
提交
2543d037
模
模拟HTTP请求工具
项目概览
汇龙科技
/
模拟HTTP请求工具
与 Fork 源项目一致
Fork自
AresnLiang / 模拟HTTP请求工具
通知
1
Star
0
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
模
模拟HTTP请求工具
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
2543d037
编写于
12月 01, 2023
作者:
View Design
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Auto Commit
上级
0520122c
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
45 addition
and
19 deletion
+45
-19
main.py
main.py
+45
-19
未找到文件。
main.py
浏览文件 @
2543d037
import
streamlit
as
st
from
streamlit_option_menu
import
option_menu
import
requests
import
datetime
import
json
# 设置Streamlit应用程序的标题
st
.
set_page_config
(
page_title
=
"app name"
,
layout
=
"wide"
)
st
.
set_page_config
(
page_title
=
"HTTP请求模拟工具"
,
page_icon
=
"🚀"
)
menu1
=
"菜单1"
menu2
=
"菜单2"
st
.
markdown
(
"""
# HTTP请求模拟工具
### 功能点:
1. 发送HTTP请求:用户输入请求URL、请求方法和请求头信息,工具对请求进行封装后发送HTTP请求。
2. 查看响应结果:工具接收到服务器响应后,将响应结果展示给用户以便于查看。
3. 关注请求细节:用户可以查看请求发送的细节信息,包括请求发送时间、请求耗时、请求大小等。
---
"""
)
with
st
.
sidebar
:
menu
=
option_menu
(
"菜单"
,
[
menu1
,
menu2
],
icons
=
[
'house'
,
"list-task"
],
menu_icon
=
"cast"
,
default_index
=
0
)
url
=
st
.
text_input
(
"请输入请求URL:"
,
value
=
"https://e.weather.com.cn/p/site/aqifc1h?areaid=101010300"
)
method
=
st
.
selectbox
(
"请选择请求方法:"
,
[
"GET"
,
"POST"
,
"PUT"
,
"DELETE"
])
headers
=
st
.
text_area
(
"请输入请求头信息,格式如:{'key1': 'value1', 'key2': 'value2'}"
)
def
main
():
if
menu
==
menu1
:
st
.
subheader
(
f
"
{
menu1
}
"
)
if
menu
==
menu2
:
st
.
subheader
(
f
"
{
menu2
}
"
)
if
__name__
==
'__main__'
:
main
()
if
st
.
button
(
"发送请求"
):
if
headers
:
try
:
headers
=
eval
(
headers
)
except
Exception
as
e
:
st
.
error
(
"请求头信息格式有误,请确认输入的是字典格式,例如:{'key1': 'value1', 'key2': 'value2'}"
)
headers
=
None
else
:
headers
=
None
start_time
=
datetime
.
datetime
.
now
()
try
:
response
=
requests
.
request
(
method
=
method
,
url
=
url
,
headers
=
headers
)
end_time
=
datetime
.
datetime
.
now
()
time_taken
=
end_time
-
start_time
size
=
len
(
response
.
content
)
st
.
subheader
(
"响应结果:"
)
try
:
pretty_json
=
json
.
loads
(
response
.
text
)
st
.
json
(
pretty_json
)
except
:
st
.
text
(
response
.
text
)
st
.
subheader
(
"请求细节:"
)
st
.
write
(
f
"请求方法:
{
method
}
"
)
st
.
write
(
f
"请求URL:
{
url
}
"
)
st
.
write
(
f
"请求头:
{
headers
}
"
)
st
.
write
(
f
"请求发送时间:
{
start_time
}
"
)
st
.
write
(
f
"请求耗时:
{
time_taken
}
"
)
st
.
write
(
f
"请求大小:
{
size
}
bytes"
)
except
Exception
as
e
:
st
.
error
(
f
"请求发送失败:
{
e
}
"
)
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录