我尝试使用OpenCV读取实时视频流,如下所示,
cv::VideoCapture capture(video_url);
它可以从实时视频流中读取并且效果很好。但是,当向其发送伪造的video_url(例如txt文件的url)时,video_url = "http://127.0.0.10:8090/result.txt"
它也可以从该伪造的URL解码数据。但是当video_url为假时,我希望它返回错误信息。如何辨别网址是真正的实时视频流还是txt网络文件?
最佳答案
python
您可以使用URLValidator()
来区分假网址。
from django.core.exceptions import ValidationError
from django.core.validators import URLValidator
validate = URLValidator()
is_valid = False
url = "https://www.youtube.com/watch?v=vNSxargsAWk"
try:
validate(url)
is_valid = True
except ValidationError as exception:
print("url is not valid")
c++ #include <regex>
using namespace std;
int main()
{
regex url_validator("/((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+(:[0-9]+)?|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)/");
if(regex_match(input, url_validator))
cout<<"Input is an integer"<<endl;
else
cout<<"Invalid input : Not an integer"<<endl;
}
关于opencv - cv::VideoCapture读取实时视频流,但不能区分假网址,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/63667302/