请教在QT5里如何建立http服务器,可以从网页通过url访问文件

请教在QT5里如何建立http服务器,可以从网页通过url访问文件,第1张

http协议是在tcp/ip协议上建立起来了,要在Android上建立一个http服务器的话,确实挺麻烦的使用现成的,到是会节省一些时间,但是现成的都不太完善,如果需要自己去实现http协议的话,会很花时间

如果楼主只是想访问手机上的文件,很多种方式都可以,有很多现成的android应用可以做到

或者楼主考虑使用ftp服务器来代替http服务器这样会简单很多,而且也可以在浏览器里面访问

再或者看下有没有人把Apache HTTP Server,移植到android上面

修改webxml 把listings 改成 true 添加 sortListings 为true

<servlet>

<servlet-name>default</servlet-name>

<servlet-class>orgapachecatalinaservletsDefaultServlet</servlet-class>

<init-param>

<param-name>debug</param-name>

<param-value>0</param-value>

</init-param>

<init-param>

<param-name>listings</param-name>

<param-value>true</param-value>

</init-param>

<init-param>

<param-name>sortListings</param-name>

<param-value>true</param-value>

</init-param>

<load-on-startup>1</load-on-startup>

</servlet>

1首先打开开始菜单中的控制面板选择,在控制面板中选择并打开“程序”,找到并双击“打开或关闭Windows功能”,在弹出的窗口中选择“Internet信息服务”下面所有选项,点击确定,然后就会开始更新服务,等待一会;

2等待更新完成之后,打开浏览器,在浏览器地址栏上输入“http://localhost/”,然后回车,如果此时出现IIS7欢迎界面,说明Web服务器已经搭建成功。

3当web服务器搭建成功后,下一步要做的就是把网站安装到Web服务器的目录中,一般情况下,当Web服务器安装完成之后就会创建路径“%系统根目

录%inetpub/wwwroot”,只要将网站复制到该路径下,就可实现本地访问该网站

4接着设置防火墙,让局域网中的其它计算机也能访问本地网站资源,操作方法:依次打开“控制面板--系统和安全”,然后点击“允许程序通过Windows防火墙”,在弹出的对话框,选择勾选“万维网服务HTTP”右侧的两个复选框,点击确定退出。 最后在局域网中其它计算机上,打开浏览器输入“http://Web服务器的IP地址/”,然后回车即可访问服务器上的资源。

那是不可能的,FTP和HTTP是两种不同的协议,用FTP做的服务器,就只能通过FTP访问。

假如你的FTP为某目录设置的用户名是username,密码是password,虚拟路径是path,主机名是 19216812 ,那么你可以这样访问:

ftp://username:passwrod@19216812/path/1exe

如果你非要以http:打头,那么,你不得不再搭建一个HTTP服务器,比如可以用IIS,然后把它的虚拟目录设置为和FTP一样。

第1步:安装一个服务我这装的是oneInstack

第2步:先在阿里云添加一个安全组50

第3步:ssh:在oneinstack 执行/vhostsh 这是添加虚拟机

第4步:在/usr/local/nginx/conf/vhost目录下 修改端口

第5步:web 服务开启 端口 iptables -A INPUT -p tcp --dport 50 -j ACCEPT

第6步:ssh:执行service nginx restart 重启服务

第7步:在/data/wwwroot/ip地址:50 放自己页面文件

完了,你可以在服务器ip后面加50就可以访问了,你还可以类似开启30,40,60之类的端口

nginx部署

1在下载的ngnix的工具中执行下面命令:

start /nginxexe回车即启动了nginx服务

2检查是否成功

输入http://localhost 会有Welcome to nginx!

3nginx配置

找到nginx下的conf/nginxconf文件,设置代理相关信息,重点是server{}中的内容

server {

listen 80;

server_name testcom;

# 这里是你要代理的测试环境域名加上-local

# 比如你的项目测试环境为testcom,你本地此处可以设置为testcom,当然你可以随便设置

location /{

add_header 'Access-Control-Allow-Origin' '';

add_header 'Access-Control-Allow-Credentials' 'true';

add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';

add_header 'Access-Control-Allow-Headers' 'DNT,web-token,app-token,Authorization,Accept,Origin,Keep-Alive,User-Agent,X-Mx-ReqToken,X-Data-Type,X-Auth-Token,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';

add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';

# 此处8091是我们本地运行项目的端口号,设置成跟你本地起的服务端口号一样就行

proxy_pass http://127001:8091/;

}

}

登录后复制

4本机dns配置

修改本地host文件配置

找到目录C:\Windows\System32\drivers\etc,打开hosts文件,修改文件,加入127001 testcom

然后在testcom 可以看到Welcome to nginx!

5运行

先输入/nginxexe -t检查nginx配置是否正确

继续输入nginx -s reload重启(nginx配置文件修改后都要重启nginx才会生效)

刷新dns: ipconfig /flushdns

ngnix设置一个服务

root就是文件的 地址 localhost:8000/文件名后缀 就是页面地址

server {

listen 8000;

# listen somename:8080;

# server_name somename alias anotheralias;

location / {

root "E:\华侨城\西安欢乐谷\聚合-集成小程序\src\pages\index";

index indexhtml indexhtm;

}

}

登录后复制

本地通过http-server启动服务

npm install http-server -g

http-server -p 8881

页面输入127001:8881 然后写入页面aaahtml 就可以访问了

登录后复制

重启redis

1cmd打开redis目录:

redis-serverexe rediswindowsconf

每次重启 是不是很麻烦,自动启动的方法:

1在redis目录启动redis: redis-serverexe rediswindowsconf

2在redis设置用户名密码:

redis-cliexe

然后输入 set name wangjigen 设置自己的名字 getname 看看自己是否设置成功

config set requirepass wjg720941设置密码 auth 需要输入自己的密码

config get requirepass 查看自己的用户名密码

3设置服务命令

redis-server --service-install rediswindows-servi` ceconf --loglevel verbose

然后在计算机服务点击可开启

over

然而启动的时候会报错

node_redis: Warning: Redis server does not require a password, but a password was supplied

1可能是这是redis程序没有指向windowconf 文件 redis-serverexe rediswindowsconf

2可能是或者在 rediswindowsconf文件搜索requirepass 添加密码 requirepass asd123

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 请教在QT5里如何建立http服务器,可以从网页通过url访问文件

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情