问题 first path segment in URL cannot contain colon 的解决方案

liuzhen007 等级 645 0 0

目录

问题

解决

问题

使用Golang开发流媒体服务器处理Post请求时,遇到了这个报错信息:

2020/12/14 07:21:01 callback post failed 2020/12/14 07:21:01 error:***:8080/api/callback: first path segment in URL cannot contain colon

解决

网上查了一下,可行的方案基本都是说在 “host:port” 前增加“//”。

确实能解决问题,但是,这只是表象。真正的原因是缺少请求协议的说明,其实完整的表述应该是“http://host:port/api”。

当然,如果你是https协议的话,那就是“https://host:port/api”。如果使用默认端口的话,http协议的port是80,https协议的port是443。当然,也可以指定。

需要注意的是一般网络接口的请求发送都是用http协议,而https协议使用的比较少。因为http协议使用简单,功能实现起来也比较快,同时延时还低。而https协议要求严苛,功能实现比较复杂一些,握手和加解密都相对耗时。但是这也是处于安全的考虑。因此,在涉及隐私文件上传,比如身份证、银行卡信息,或者涉及支付、转账等安全等级较高的操作时会强制要求使用https协议,其他场景考虑http协议即可。

收藏
评论区

相关推荐

vue.config.js配置前端代理
// vue.config.js 配置说明 //官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/cssloaderoptions // 这里只列一部分,具体配置参考文档 module.exports { // 部署生产环境和开发环境下的URL。 // 默认情况下,Vue CLI
git常用命令
关注公众号QXF069 克隆版本:git clone  path路径 <directory  若默认则是文件的名字。 查看远程版本库的地址   git remote v | verbose 将本地版本库和远程URL关联起来 git remote add t branch <name(origin) <Repository U
微信小程序验证url地址
笔记类 var that this that.optional()是验证是否为空方法 url(value) { return that.optional(value) || /^(?:(?:(?:https?|ftp):)?//)(?:S(?::S)?@)?(?:
20 张图彻底弄懂 HTTPS 的原理
前言 近年来各大公司对信息安全传输越来越重视,也逐步把网站升级到 HTTPS 了,那么大家知道 HTTPS 的原理是怎样的吗,到底是它是如何确保信息安全传输的?网上挺多介绍 HTTPS,但我发现总是或多或少有些点有些遗漏,没有讲全,今天试图由浅入深地把 HTTPS 讲明白,相信大家看完一定能掌握 HTTPS 的原理,本文大纲如下: HTTP 为什么不安全
问题 first path segment in URL cannot contain colon 的解决方案
目录问题解决 问题使用Golang开发流媒体服务器处理Post请求时,遇到了这个报错信息:2020/12/14 07:21:01 callback post failed2020/12/14 07:21:01 error::8080/api/callback: first path segment in URL cannot contain col
Golang根据URL判断媒体协议
目录问题解决 问题如何根据一个流媒体地址URL判断对应的流媒体协议,比如RTMP、RTSP协议等。 解决这里提供一个方法,可以直接拿来用。 golang func getProtocol(url string) (string, error) { if url "" { index : strings.Index(url, ":")
Python Django开发 异常及解决办法(二)
1.Django xadmin数据迁移报错ImportError: cannot import name 'QUERY_TERMS'在进行Django xadmin数据迁移时报错:pythonfrom django.db.models.sql.query import LOOKUP_SEP, QUERY_TERMSImportError: cann
升级dubbo,小心default.version
上周遇到个关于升级dubbo 2.6 到2.7的兼容性问题,差点造成线上故障,这里记录下,也给大家提个醒。 问题回放有一个接口的提供方(dubbo 2.6.6)这么配置接口的版本号xml<dubbo:provider version"1.0.0"/消费方(也是dubbo 2.6.6)的reference这么配置xml<dubbo:
CentOS 常见经验和技巧总结
1.添加路径到环境变量CentOS下添加路径到环境变量根据权限等设置有不同的情况,一般分为以下三种:(1)对当前会话生效直接执行export PATH$PATH:/usr/local/python3/bin会将路径添加到环境变量中,只不过只会对当前会话生效,当登出或注销系统时,添加的PATH就会失效,恢复为原来的配置。(2)对当前用户生效此时需要
使用Python抓取helloworld上的文章
嘿嘿嘿,py真好玩 代码写得很渣,本着能跑就好的原则,就这样啦 pythonimport osfrom requestshtml import HTMLSessionimport sqlite3from pathlib import PathBASEDIR Path(file).resolve().parent.parentdomain "https:/
https://cloud.tencent.com/developer/article/write/1830331
一、目标今天的目标是这个sign和appcode 二、步骤 Jadx没法上了app加了某梆的企业版,Jadx表示无能为力了。 FRIDADEXDumpDexDump出来,木有找到有效的信息。 Wallbreaker葫芦娃的Wallbreaker可以做些带壳分析,不过这个样本,用Frida的Spawn模式可以载入,Attach模式会失败。而直接用Objecti
报错:cannot use geometry manager pack inside . which already has slaves managed by grid
报错:cannot use geometry manager pack inside . which already has slaves managed by grid原因:一个程序中,最好使用一种布局,否则容易报上面的错误。
分别用python2和python3伪装浏览器爬取网页内容
python网页抓取功能非常强大,使用urllib或者urllib2可以很轻松的抓取网页内容。但是很多时候我们要注意,可能很多网站都设置了防采集功能,不是那么轻松就能抓取到想要的内容。今天我来分享下载python2和python3中都是如何来模拟浏览器来跳过屏蔽进行抓取的。最基础的抓取:! /usr/bin/env python codingutf8 @Au
一篇文章带你了解Django ORM操作(进阶篇)
回顾上次咱们学习了一下Django ORM的基本查询操作。查询操作主要使用的是filter()方法。我们知道filter()查询出来的是值,如果想取第一个值需要再filter().first()才行。还知道了get()和filter().first()的区别等等。Django ORM的查询还有很多,继续来看叭!!!查询操作 对象.外键字段比如,我们拿到了一个
爬虫进阶 - 前后端分离有什么了不起,过程超详细
这是一个详细的爬虫进阶教程,里面包含了很详细的思考和试错过程,如果你对学爬虫是认真的,建议认真看。 我们要抓取下面这个网站上的所有图书列表: https://www.epubit.com/books 1) 探索研究 创建一个新的python文件,写入如下代码:import requests url  'https://www.epubit.com/boo