天道酬勤,学无止境

url-encoding

Pass in Active Directory user name (DOMAIN\etc) in asp.net MVC URL

I'm trying to pass an active directory user name in to a asp.net MVC application, but can't figure out what's the best way to deal with the backslash in the user name. For example, say my user name is "EUROPE\george.collins" and I want my record for 2012: http://application/2012/EUROPE\George.Collins If I URL-encode the backslash as %5C the server is returning a "400 Bad Request". Should I just separate the DOMAIN and User Name parts, e.g. 2012/EUROPE/George.Collins? In that case, what would be the easiest way to re-combine them into a username string? G

2021-10-27 03:02:52    分类:问答    asp.net   asp.net-mvc   active-directory   url-encoding

URL Encoding Strings that aren't valid URIs

I'm not sure I understand the URI object completely to do this properly. I want to be able to convert a string into a url-encoded string. For example, I have a servlet acting as a file handler and I need to specify the file name in the header - response.setHeader("Content-disposition", "attachment;filename=" + new URI(filename).toUrl()); As expected, I get a URISyntaxException because the string I'm encoding isn't in proper URI form. How can I encode strings instead of URLs? I can't get the results I want using the depreciated URLEncoder because it replaces " " with "+" instead of "%20"

2021-10-24 15:49:15    分类:问答    java   url-encoding

URL 编码在处理前丢失 - ASP.net(URL Encoding being lost before processing - ASP.net)

问题 我正在构建一个广泛使用 URL 编码的网络商店。 我的数据库中有一个部门和类别列表,用于生成链接。 当然,这些是在发送之前对 URL 进行编码的。 一些典型的链接是... /MySite/Store/Countertop+Equipment/Can+Openers.aspx /MySite/Store/Dinnerware.aspx /MySite/Store/Kitchen/Pastry%2f+Decorating.aspx 在我的 HTTPHandler 中,我调用 app.Request.Path 来获取当前路径。 此调用返回的字符串不再是 URL 编码的,这使我无法正确解析。 一旦 URL 编码丢失 /MySite/Store/Kitchen/Pastry%2f+Decorating.aspx变成 /MySite/Store/Kitchen/Pastry/Decorating.aspx 。 这显然破坏了将 URL 转换为 QueryString 的方法。 有人知道怎么修这个东西吗? 这是我的 HTTPHandler 的核心 public void Init(System.Web.HttpApplication app) { app.BeginRequest += new EventHandler(Application_BeginRequest); } private

2021-10-19 20:01:03    分类:技术分享    asp.net   url-rewriting   url-encoding

是否建议在 URL 中包含非 ASCII 字符?(Is it advisable to have non-ascii characters in the URL?)

问题 我们目前正在开展一个 I18N 项目。 我想知道在 URL 中包含非 ascii 字符有什么复杂性。 如果它不可取,有什么替代方法来处理这个问题? 编辑(响应 Maxym 的回答):该站点将位于特定国家/地区,我不必担心全球公众访问该站点。 我知道从可用性的角度来看,这真的很烦人。 与此相关的其他技术问题是什么? 回答1 可以使用 IDNA 使用非 ASCII/非拉丁域名。 此外,您始终可以在 URL 中使用百分比编码(如%20表示空格)。 RFC 3986 建议结合百分比的 UTF-8 编码: 数据首先应根据 UTF-8 字符编码编码为八位字节; 那么只有那些与非保留集中的字符不对应的八位字节才应该被百分比编码。 (...) 例如,字符 A 将表示为“A”,字符 LATIN CAPITAL LETTER A WITH GRAVE 将表示为“%C3%80”,而字符 KATAKANA LETTER A 将表示为“% E3%82%A2"。 现代客户端(Web 浏览器)能够在百分比编码和 Unicode 之间来回转换,因此 URL 作为 ASCII 传输,但对用户来说看起来很漂亮。 确保您使用的网络框架/CMS 也能理解这种编码,以简化来自网站管理员/内容编辑器的 URL 输入。 回答2 我会说不。 原因很简单 -> 如果您依赖全球公众,那么人们输入您的网址将是一个大问题。

2021-10-19 16:43:02    分类:技术分享    language-agnostic   url   internationalization   ascii   url-encoding

URL Encoding being lost before processing - ASP.net

I am building a web-store that uses URL encoding extensively. I have a list of Departments & Categories in my database which I use to generate the links. These are, of course, URL encoded before they are sent. Some Typical Links are... /MySite/Store/Countertop+Equipment/Can+Openers.aspx /MySite/Store/Dinnerware.aspx /MySite/Store/Kitchen/Pastry%2f+Decorating.aspx In my HTTPHandler I call app.Request.Path to obtain the current path. The string returned by this call is no longer URL encoded which is making it impossible for me to parse correctly. Once the URL encoding is lost /MySite/Store

2021-10-19 06:51:54    分类:问答    asp.net   url-rewriting   url-encoding

URL 编码打破 angular 2 导航(URL Encoding breaking angular 2 navigation)

问题 我有一个以 angular 2 开发的网站。当我在 chrome 中为其提供可选参数时,例如 https://aglplus-ui-demo.azurewebsites.net/home?error_code=10000&transaction_id=1543 这被转换为 https://aglplus-ui-demo.azurewebsites.net/home%3Ferror_code%3D10000%26transaction_id%3D1543 并且无法在 chrome 中找到该页面。 但是,当我在隐身模式下粘贴相同的 url 时,它运行得很好。 我是 angular 的新手,无法找到相同的原因。 你能指引我走向正确的方向吗? 回答1 当我登录到系统时,问题发生了。 有一个使用 router.navigate() 重定向的验证函数。 将其更改为 router.navigateByUrl() 解决了该问题。 但是,我不确定为什么会这样。 如果有人可以指导我,我将非常感激。 回答2 如果您有一个带有散列参数和查询参数的路径,并且您想使用“导航”方法,则必须使用以下形式: router.navigate([path], {queryParams: queryParams, fragment: fragment, relativeTo: route}); 或者,正如

2021-10-19 04:16:58    分类:技术分享    angular   url-encoding

magento _redirect 参数带有 + 或 /(magento _redirect with parameters that have + or /)

问题 似乎是对 $this->_redirect('*/*/myaction',$myargs); 没有正确转义参数所以如果 $myargs=array(p1=>'string that has + or / within it') 创建的 URL 将类似于: ..../myaction/?p1/string%20that%20has%20+%20or%20/%20within%20it 导致操作上的 getParams 集合的 p1 值为 'string that has or ' <- 加号丢失且值已损坏,并且“其中”没有值或类似内容。 在将参数传递给 _redirect 之前,我应该处理这些参数的标准方法是什么? 艾尔 回答1 是的,有两种标准方式。 将所有参数作为路由参数传递,但使用 php urlencode() func 对它们进行编码: foreach ($myargs as $key => $val) { $myargs[$key] = urlencode($val); } $this->_redirect('*/*/myaction', $myargs); 将您的参数作为查询参数传递 $this->_redirect('*/*/myaction', array('_query', $myargs)); 您最好采用第二种方法,因为逻辑上您的参数不是路由而是查询参数。

2021-10-16 09:29:45    分类:技术分享    magento   url-encoding

使用 Perl,我如何在网络上解码或创建那些 %-encodings?(Using Perl, how do I decode or create those %-encodings on the web?)

问题 我需要在我的 Perl 脚本中处理 URI(即百分比)编码和解码。 我怎么做? 这是来自官方 perlfaq 的问题。 我们正在将 perlfaq 导入 Stack Overflow。 回答1 这是官方常见问题解答减去后续编辑。 这些%编码处理 URI 中的保留字符,如 RFC 2396 第 2 节中所述。此编码将保留字符替换为 US-ASCII 表中字符编号的十六进制表示。 例如,冒号:变为%3A 。 在 CGI 脚本中,如果您使用 CGI.pm,则不必担心解码 URI。 您不必自己处理 URI,无论是在进出途中。 如果您必须自己对字符串进行编码,请记住,永远不要尝试对已组合的 URI 进行编码。 您需要单独转义组件,然后将它们放在一起。 要对字符串进行编码,您可以使用 URI::Escape 模块。 uri_escape函数返回转义的字符串: my $original = "Colon : Hash # Percent %"; my $escaped = uri_escape( $original ); print "$escaped\n"; # 'Colon%20%3A%20Hash%20%23%20Percent%20%25' 要解码字符串,请使用 uri_unescape 函数: my $unescaped = uri_unescape( $escaped )

2021-10-16 04:38:27    分类:技术分享    perl   url-encoding   percent-encoding

jQuery 的 $.ajax URL 编码问题(jQuery's $.ajax URL Encoding Problems)

问题 我正在使用 jQuery 的 $.ajax 方法向 REST 服务发送和检索数据。 我提供给 $.ajax 方法的一些 URL 需要对空格和其他特殊字符进行编码。 问题在于 Chrome、Safari (Webkit) 和 Internet Explorer 浏览器。 Firefox POST 到已编码的 URL,但其他浏览器 POST 到未编码的 URL。 举个例子: $.ajax ({ url: "http://localhost:8080/rest/123/Product Line A/[Product Type B]", type: "POST", dataType: "json", data: { ... }, success: function(...){}, error: function(...){} }) Firefox 以以下格式发布 URL: http://localhost:8080/rest/123/Product%20Line%20A/%5BProduct%20Type%20B%5D Chrome、Safari 和 IE 以以下格式发布 URL: http://localhost:8080/rest/123/Product Line A/[Product Type B] REST 服务接受编码 (Firefox) 格式 -

2021-10-16 00:03:11    分类:技术分享    jquery   ajax   firefox   webkit   url-encoding

无法在 URL 中允许这些字符:- % / \ # +(Unable to allow these characters in URL:- % / \ # +)

问题 关于系统 我的项目中有这种格式的 URL:- http://project_name/browse_by_exam/type/tutor_search/keyword/class/new_search/1/search_exam/0/search_subject/0 其中keyword/class对意味着使用“类”关键字进行搜索。 以下是我的 htaccess 文件:- ##AddHandler application/x-httpd-php5 .php Options Includes +ExecCGI Options +FollowSymLinks <IfModule mod_rewrite.c> RewriteEngine on ############To remove index.php from URL RewriteCond $1 !^(index\.php|resources|robots\.txt) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L,QSA] #################################################end of find a class <

2021-10-14 18:22:18    分类:技术分享    url   .htaccess   url-routing   url-encoding