phpurl验证
Ⅰ php中检查 url 链接是否已经有参数,添加
//检查链接中是否存在 ?
$check = strpos($old_url, '?');
//如果存在 ? if($check !== false)
{ //如果 ? 后面没有参数,如 hindex.php?
if(substr($old_url, $check+1) == '') {
//可以直接加上附加参数 $new_url = $old_url;
} else //如果有参数,如:index.php?ID=12
{ $new_url = $old_url.'&';
} }
else //如果不存在 ? {
$new_url = $old_url.'?'; }
echo $new_url;
?>
Ⅱ 批量验证url有效性并将有效的url输出到文本
因为工作需要,之前用python写了一些批量校验url有效性的小脚本,但并不全面,健壮性较差,现把之整理一下,代码如下:
#!/usr/bin/python
# -*- coding:utf-8 -*-
import urllib2
from urllib2 import URLError
result_url=[]
count=0
not_200=0
f=open("img1.txt","r")
img_not_200=open("img_not_200.txt","w+")
for line in f:
count+=1
print "on scanning ",count
try:
response=urllib2.urlopen(line)
except URLError, e:
if hasattr(e,'reason'): #stands for URLError
print "can not reach a server,writing..."
result_url.append(line)
not_200+=1
img_not_200.write(line)
print "write url success!"
elif hasattr(e,'code'): #stand
对这段代码解析如下:
如果url有效,则可以正常通过urlopen取到response,并且response.getcode()等于200;
但若url无效,无论是无法找到服务器还是其他http错误,都无法通过urlopen返回response。这个时候,就需要通过返回的错误类型来判断错误到底是url错误还是http错误。上面的程序是通过错误类型所拥有的属性来判断的。如果错误类型有“code”属性,则代表错误是HTTPError;如果属性有“reason”,则代表是URLError错误。
当然,也可以在except中分别指定抛出的错误类型,进而进行不同的处理。所要注意的是,因为HTTPError是URLError的子类,所以必须在第一个except中指定捕获HTTPError,第二个except中指定捕获URLError,否则的话,你懂的。。
收藏
Ⅲ php 怎么验证输入的url合法性
首先,定义函数check_url:
<?php
function check_url($url){
if(!preg_match('/http:\/\/[\w.]+[\w\/]*[\w.]*\??[\w=&\+\%]*/is',$url)){
return false;
}
return true;
}
?>
使用方法:
<?php
$url='需验证的url';
$isurl=check_url($url);
if($isurl){
echo 'url地址合法';
}else{
echo 'url地址非法';
}
?>
Ⅳ php 正则验证是url否以http://开始 返回值是啥 我是一菜鸟 求解
<?php
$url = "http://www..com";
$pa = '/\b((?#protocol)https?|ftp):\/\/((?#domain)[-A-Z0-9.]+)((?#file)\/[-A-Z0-9+&@#\/%=~_|!:,.;]*)?((?#parameters)\?[A-Z0-9+&@#\/%=~_|!:,.;]*)?/i';
preg_match_all($pa,$url,$r);
if($r[1][0]=='http')
{
echo '当前网络访问协议是 http';
}
?>
如果单纯地只是检测是不是以http://开头,可以直接用strpos函数来完成,这样速度更快。
Ⅳ php 正则表达式 url匹配
1,preg_grep(pattern,array);它的返回值是一个新数组,新数组的元素是成功匹配的元素。
Ⅵ php网页url判断。
你不是都清楚了吗? 获取到uid后直接存数据库嘛。回头你查看数据库的数据就明白了。
Ⅶ php语言获得并判断url
function isInString4($haystack, $needle) {
return false !== strpos($haystack, $needle);
}
var_mp(isInString1($haystack, $needle));
....
if(strpos($a, $b) !== ture){
执行语句1
}else{
执行语句2
}
Ⅷ PHP 正则验证URL网址格式是否有效
PHP使用ereg()正则表达式函数来验证网址URL的格式是否符合规定,若网址有效则返回true,无效则返回false。本函数在PHP中属常用函数。本函数执行返回布尔值。
PHP检测网址是否效的
1 function CheckUrl($C_url){
2 if (!ereg("^http://[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*$", $C_url))
3 {
4 return false;
5 }
6 return true;
7 }
Ⅸ php如何验证网址是否正确
public function getUrlParams()
{
if ($this->_urlParams === null)
{
$pa = @parse_url($this->getUrl());
$pa['scheme'] = isset($pa['scheme']) ? strtolower($pa['scheme']) : 'http';
if ($pa['scheme'] !== 'http' && $pa['scheme'] !== 'https')
{
trigger_error("Invalid url scheme `{$pa['scheme']}`", E_USER_WARNING);
return false;
}
if (!isset($pa['host']))
{
trigger_error("Invalid request url, host required", E_USER_WARNING);
return false;
}
if (!isset($pa['path']))
$pa['path'] = '/';
// basic auth
if (isset($pa['user']) && isset($pa['pass']))
$this->applyBasicAuth($pa['user'], $pa['pass']);
// convert host to IP address
$port = isset($pa['port']) ? intval($pa['port']) : ($pa['scheme'] === 'https' ? 443 : 80);
$pa['ip'] = $this->hasHeader('x-server-ip') ?
$this->getHeader('x-server-ip') : self::getIpAddr($pa['host']);
$pa['conn'] = ($pa['scheme'] === 'https' ? 'ssl' : 'tcp') . '://' . $pa['ip'] . ':' . $port;
// host header
if (!$this->hasHeader('host'))
$this->setHeader('host', strtolower($pa['host']));
else
$pa['host'] = $this->getHeader('host');
$this->_urlParams = $pa;
}
return $this->_urlParams;
}
public function getUrlParam($key)
{
$pa = $this->getUrlParams();
return isset($pa[$key]) ? $pa[$key] : null;
}
Ⅹ php判断url地址正则表达怎么写
这个其实很简单的。就不说教了,直接给代码吧:
$url=$_SERVER['REQUEST_URI'];
if (preg_match('/^\/\w+\/?$/', $url)) {
// 说明这里匹配的是目录
} else if (preg_match('/^\/\w+\/\w+\.html$/', $url)) {
// 说明这里是匹配的文件
}