精华内容
下载资源
问答
  • java – URL非法字符

    2021-03-09 02:33:30
    Log.d("URL", convertURL(URL)); request.setURI(new URI(URL)); HttpResponse response = client.execute(request); bufferedReader = new BufferedReader(new InputStreamReader(response.getEntity().getContent...

    这是我的代码:

    HttpClient client = new DefaultHttpClient();

    client.getParams().setParameter(CoreProtocolPNames.USER_AGENT, "android");

    HttpGet request = new HttpGet();

    request.setHeader("Content-Type", "text/plain; charset=utf-8");

    Log.d("URL", convertURL(URL));

    request.setURI(new URI(URL));

    HttpResponse response = client.execute(request);

    bufferedReader = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));

    StringBuffer stringBuffer = new StringBuffer("");

    String line = "";

    String NL = System.getProperty("line.separator");

    我不知道我的网址中有哪个错误:

    http://localhost/CyborgService/chatservice.php?action=recive_game&nick_sender=mkdarkness&pass=MV030595&date_last=2012-11-18 09:46:37&id_game=1

    我已经使用了一个函数来转换URL,但是没有用.但是,如果我在浏览器中尝试打开此URL,则会成功打开.

    这是我的错误:

    06001

    解决方法:

    您的URL中有一个空格,位置127.日期生成为“date_last = 2012-11-18 09:46:37”,这会在打开URL时导致错误.

    URL中没有正式接受空格,尽管您的浏览器会很乐意将其转换为“”或“”,这两者都是URL中空格的有效表示.你应该转义所有字符:你可以用“”替换空格,或者只是通过URLEncoder传递字符串并完成它.

    要使用URLEncoder,请参阅例如this question:仅使用URLEncoder编码参数值,而不是完整的URL.或者使用URI的构造函数之一,它具有一些参数,而不是一个参数.您没有显示构造URL的代码,因此我无法明确地对其进行评论.但是如果你有一个参数mapMap的地图,它将是这样的:

    String url = baseUrl + "?";

    for (String key : parameterMap.keys())

    {

    String value = parameterMap.get(key);

    String encoded = URLEncoder.encode(value, "UTF-8");

    url += key + "&" + encoded;

    }

    有一天我们可以讨论为什么Java需要设置编码然后要求编码为“UTF-8”,而不是仅使用“UTF-8”作为默认编码,但是现在这个代码应该做的伎俩.

    标签:java,url,android,uri

    来源: https://codeday.me/bug/20190718/1494350.html

    展开全文
  • /*** 判断请求url是否非法* @param url* @return*/public static boolean isValidRequestUri(String url) {if (StringUtils.isNotEmpty(url)) {if (hasSpecialChar(url)) {return true;}try {/**尝试decode两次判断...

    /**

    * 判断请求url是否非法

    * @param url

    * @return

    */

    public static boolean isValidRequestUri(String url) {

    if (StringUtils.isNotEmpty(url)) {

    if (hasSpecialChar(url)) {

    return true;

    }

    try {

    /**尝试decode两次判断是否有特殊字符*/

    try {

    /**URLDecoder: Incomplete trailing escape (%) pattern*/

    url = url.replaceAll("%(?![0-9a-fA-F]{2})", "%25");

    url = url.replaceAll("\\+", "%2B");

    url = URLDecoder.decode(url, "utf-8");

    } catch (Exception e) {

    e.printStackTrace();

    }

    url = url.replaceAll("%(?![0-9a-fA-F]{2})", "%25");

    url = url.replaceAll("\\+", "%2B");

    url = URLDecoder.decode(url,"UTF-8");

    if(hasSpecialChar(url)){

    return true;

    }

    } catch (UnsupportedEncodingException e) {

    e.printStackTrace();

    };

    }

    return false;

    }

    private static boolean hasSpecialChar(String url){

    return url.contains("") || url.contains("\"")

    || url.contains("'")|| url.contains(" and ")

    || url.contains(" or ") || url.contains("1=1") || url.contains("(") || url.contains(")")

    || url.contains("{") || url.contains("}")|| url.contains("[") || url.contains("]");

    }

    标签:JAVA,URL,contains,decode,url,地址,replaceAll,hasSpecialChar,return

    来源: https://www.cnblogs.com/pxblog/p/13741144.html

    展开全文
  • + URL 中+号表示空格 %2B2. 空格 URL中的空格可以用+号或者编码 %203. / 分隔目录和子目录 %2F4. ? 分隔实际的 URL 和参数 %3F5. % 指定特殊字符 %256. # 表示书签 %237. & URL 中指定的参数间的分隔符 %268. =...

    十六进制值1. + URL 中+号表示空格 %2B

    2. 空格 URL中的空格可以用+号或者编码 %20

    3. / 分隔目录和子目录 %2F

    4. ? 分隔实际的 URL 和参数 %3F

    5. % 指定特殊字符 %25

    6. # 表示书签 %23

    7. & URL 中指定的参数间的分隔符 %26

    8. = URL 中指定参数的值 %3D

    解决的方法:

    replace() 方法如果直接用str.replace("-","!") 只会替换第一个匹配的字符.

    而str.replace(/\-/g,"!")则可以替换掉全部匹配的字符(g为全局标志)。

    replace()

    js中替换字符变量如下:

    data2=data2.replace(/\%/g,"%25");

    data2=data2.replace(/\#/g,"%23");

    data2=data2.replace(/\&/g,"%26");

    其他一些资料。。。仅供参考。。。

    在使用url进行参数传递时,经常会传递一些中文名(或含有特殊字符)的参数或URL地址,在后台处理时会发生转换错误。在有些传递页面使用GB2312,而在接收页面使用UTF8,这样接收到的参数就可能会与原来发生不一致。使用服务器端的urlEncode函数编码的URL,与使用客户端java的encodeURI函数编码的URL,结果就不一样。

    java对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent

    java中的编码方法:

    escape() 方法:采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。比如,空格符对应的编码是%20。unescape方法与此相反。不会被此方法编码的字符: @ * / +

    encodeURI()方法:把URI字符串采用UTF-8编码格式转化成escape格式的字符串。不会被此方法编码的字符:! @ # $& * ( ) = : / ; ? + '

    encodeURIComponent ()方法:把URI字符串采用UTF-8编码格式转化成escape格式的字符串。与encodeURI()相比,这个方法将对更多的字符进行编码,比如 / 等字符。所以如果字符串里面包含了URI的几个部分的话,不能用这个方法来进行编码,否则 / 字符被编码之后URL将显示错误。不会被此方法编码的字符:! * ( )

    因此,对于中文字符串来说,如果不希望把字符串编码格式转化成UTF-8格式的(比如原页面和目标页面的charset是一致的时候),只需要使用 escape。如果你的页面是GB2312或者其他的编码,而接受参数的页面是UTF-8编码的,就要采用encodeURI或者 encodeURIComponent。

    另外,encodeURI/encodeURIComponent是在java1.5之后引进的,escape则在java1.0版本就有。

    1、  传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断。

    2、  进行url跳转时可以整体使用encodeURI

    例如:Location.href=encodeURI("http://cang.baidu.com/do/s?word=百度&ct=21");

    3、  js使用数据时可以使用escape

    例如:搜藏中history纪录。

    4、  escape对0-255以外的unicode值进行编码时输出%u****格式,其它情况下escape,encodeURI,encodeURIComponent编码结果相同。

    最多使用的应为encodeURIComponent,它是将中文、韩文等特殊字符转换成utf-8格式的url编码,所以如果给后台传递参数需要使用encodeURIComponent时需要后台解码对utf-8支持(form中的编码方式和当前页面编码方式相同)

    escape不编码字符有69个:*,+,-,.

    展开全文
  • } 不太想用POST,又由于是内嵌的Tomcat,所以为了开发方便还是想通过修改springboot配置的方式去解决, 刚看了下 server.tomcat.* 相关的配置,暂时没有找到解决非法字符的问题### 问题描述 相关代码 // 请把代码...

    问题出现的环境背景及自己尝试过哪些方法

    Tomcat在 7.0.73, 8.0.39, 8.5.7 版本后,添加了对于http头的验证。

    具体来说,就是添加了些规则去限制HTTP头的规范性。

    org.apache.tomcat.util.http.parser.HttpParser#IS_NOT_REQUEST_TARGET[]中定义了一堆not request target

    if(IS_CONTROL[i] || i > 127 || i == 32 || i == 34 || i == 35 || i == 60 || i == 62 || i == 92 || i == 94 || i == 96 || i == 123 || i == 124 || i == 125) {

    IS_NOT_REQUEST_TARGET[i] = true;

    }

    不太想用POST,又由于是内嵌的Tomcat,所以为了开发方便还是想通过修改springboot配置的方式去解决,

    刚看了下 server.tomcat.* 相关的配置,暂时没有找到解决非法字符的问题### 问题描述

    相关代码

    // 请把代码文本粘贴到下方(请勿用图片代替代码)

    org.springframework.boot

    spring-boot-starter-parent

    2.0.3.RELEASE

    你期待的结果是什么?实际看到的错误信息又是什么?

    报错:java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986

    很多人给了解决办法,但是还是感觉不太灵活,还是想通过springboot配置的方式,

    展开全文
  • package main import ( "fmt" "regexp" ) func main() { urls := ...`) result := re.FindAllStringSubmatch(urls, -1) if result == nil { fmt.Println("URL不合法") } }
  • 编译成功完成,但因为我也使用共享库时的链接过程开始我得到了以下错误:在将C++对象与Visual C++链接到Linux时,路径中存在非法字符 Illegal characters in path 为线 Ld Condition="'@(RemoteLink)' != ''" 文件 ...
  •  分隔实际的URL和参数 %3F % 指定特殊字符 %25 # 表示书签 %23 & URL 中指定的参数间的分隔符 %26 = URL 中指定参数的值 %3D URL中的空格有时候被编码成%20,有时候被编码成加号+,曾经迷糊过一段时间,...
  • 特殊特殊字符的含义 ———————————————————————————— 字符 特殊字符的含义 URL编码 # 用来标志特定的文档位置 %23 % 对特殊字符进行编码 %25 & 分隔不同的变量值对 %26 + 在变量值中表示...
  • 微信生成授权URL

    千次阅读 2020-12-29 20:19:46
    第二步:通过code获取access_token(开发回调URL) 二 后端开发 service_ucenter微服务 1 添加配置 open: # 微信开放平台 appid appId: # 微信开放平台 appsecret appSecret: # 微信开放平台 重定向url(guli.shop...
  • import sys import re if len(sys.argv) !... print (sys.stderr, "URL Required") sys.exit(-1) url = sys.argv[1] if re.match(r'^https?:/{2}\w.+$', url): print("合法url") else: print("不合法url")
  • 根据rfc规范,url中不允许有 |,{,}等特殊字符,但在实际生产中还是有些url有可能携带有这些字符,特别是|还是较为常见的。在tomcat升级到7以后,对url字符的检查都变严格了,如果出现这类字符,tomcat将直接返回...
  • 不允许url中包含问号? if ($request_uri ~* “?”) { return 403 “奶奶的腿”; } 不允许url中包含等号= if ($request_uri ~* “=”) { return 403 “奶奶的腿”; }
  • 有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了。下表中列出了一些URL特殊符号及编码十六进制值1.+URL 中+号表示空格%2B2.空格URL中的空格可以用+号或者编码%203./分隔...
  • >指数89是{ – 这是一个非法的人物? 我尝试这样做 – 用{代替大括号,但它没有帮助 ...
  • æ退格TAB换行回车空格!"#$%&'()*+,-./%00%01%02%03%04%05%06%07%08%09%0a%0b%0c%0d%0e%0f%10%11%12%13%14%15%16%17%18%19%1a%1b%1c%1d%1e%1f%20%21%22%23%24%25%26%27%28%29%2a%2b%2c%2d%2e%2f0123456789:;...
  • java-如何找出字符串是否已被URL编码?如何检查字符串是否已经编码?例如,如果我对TEST==进行编码,则得到TEST%3D%3D。如果我对最后一个字符串再次进行编码,则得到TEST%253D%253D,在这样做之前,我必须知道它是否...
  • 在第一个curl调用中使用var集时,我得到“ curl:(3)在URL中发现非法字符”。 我能够回显var,并且看起来一切都很好,甚至可以重置var(在下面的示例中),并且可以正常工作。Bash脚本URL=$(curl -i -X GET -H "X-...
  • 现在, PHP版本, wordpress版本和插件都是最新的, 但是Portifolio项目现在返回此错误:屏幕截图:警告:第679行上的/home/elite856/public_html/wp-content/themes/eliteled/functions.php中的非法字符串偏移量” alt...
  • HTML URL地址解析

    2021-06-29 10:13:15
    HTML URL地址解析通过JavaScript的location对象,可获取URL中的协议、主机名、端口、锚点、查询参数等信息。示例URL:http://www.akmsg.com/WebDemo/URLParsing.html#top?username=admin&pwd=123456解析结果:...
  • 使用脚手架vue-cli创建(no vuex)的vue项目,再请求某一个路由页面的相关接口数据时,返回的对象中,有时候是数据,有的时候是null,为null时,message还会提示:非法请求,重复的URL 这是成功拿到数据并且渲染了页面...
  • 1、修改url设置 2、本图片为默认设置,适用于windows服务器, ,如果为Linux服务器则需要更改为 3、url美化: 单页:portal/page/index?id=1aboutus 列表:portal/list/index?id=4ygdt 分页:...
  • //方法一Stringstr="http://www.baidu.com/api/?action=s2s_install&a={appsunion}&b=3&c=300294cf2fb33ab47691cde6fed03836";URLurl=newURL(str);//System.out.println("URLis"+url.toSt...
  • gabearnold26phpwordpress我在第32行的/home/mysite/public_html/wp-content/themes/evento/lib/php/extra.class.php中收到此错误"警告:非法字符串偏移'类型'并且我意识到文件中的这段代码是错误的,但是我在PHP中并...
  • public void destroy() { // TODO Auto-generated method stub } /** * 此程序块主要用来解决参数带非法字符等过滤功能 */ public void doFilter(ServletRequest request, ServletResponse response, FilterChain ...
  • jQuery-非法调用

    2021-08-07 02:43:33
    $.ajax({ url : base_url+'index.php', type: 'POST', dataType: 'json', data: data, cache : false }).done(function(response) { alert(response); }); return false; }); 如果我data从ajax调用中删除,它可以.....
  • 在 Java 的 API 中的 java.net 包中包含一个 URL 类和一个 URLConnection 类。下面介绍这两个类的相关知识。URL 概念URL 是统一资源定位符(Uniform Resource Locator)的简称,它表示 Internet 上某一资源的地址。...
  • $request_uri既可以拦截匹配url,也可以匹配参数args。 $args只可以匹配请求参数。 因此如果想要区别是参数发生了拦截,还是url发生了拦截,就需要先设置$args,再设置$request_uri。 %3Cscript%3E即为 location /...
  • 会话令牌写入URL

    千次阅读 2021-03-28 16:10:28
    目录 一. 漏洞描述 二.... 一.... 会话令牌即Token,关于Token,传送门-》如何理解Session、Cookie与Token。... 用户在进行get请求将用户的令牌写入url,导致中间人攻击获取令牌进行登陆。... 禁止将令牌写入url ...
  • 访问一个网站在一定时间内的频率过高会被当做攻击网站的行为,然后会被该网站限制访问,再次访问该网站便会出现以下界面,解决办法有: ①更改自己电脑的IP地址 ②换一个设备访问,比如把用电脑访问换成用手机访问 ...
  • URL地址里包含非西欧字符的字符串时,系统会将这些字符转换成application/x-www-form-urlencoded字符串。表单里提交时也是如此,当包含非西欧字符的字符串时,系统也会将这些字符转换成application/x-...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 71,077
精华内容 28,430
关键字:

url非法