标签: url-encoding

UriComponentsBuilder 查询参数和片段

我想使用 spring 库UriComponentsBuilder生成以下路径: '/app#/fragment1?test=toto'

到目前为止我已经尝试过:

UriComponentsBuilder ucb = UriComponentsBuilder.fromPath("/app").fragment("fragment1").queryParam("test","toto");

ucb.toUriString(); // -> gives me as result : '/app?test=toto#/fragment1'
Run Code Online (Sandbox Code Playgroud)

知道如何以优雅的方式实现这一点吗?

spring relative-path url-encoding query-string

5
推荐指数
1
解决办法
6531
查看次数

在 NODE.JS 中,换行代码 (%0A) 将解码回什么字符?

我有一个非常简单的问题,但一些简单的谷歌搜索和 stachexchange 查询无法回答它,所以我想我在这里遗漏了一些东西。

这是我的简化参数:

  1. 我正在使用 JavaScript。
  2. 我有一个需要进行 URLEncoded 的文本,并且文本超过 1 行。

我的问题是:在文本编码之前换行符是什么?(我知道编码后换行符将被编码为%0A)

我想问“解码 %0A 时解码什么字符”会是相同的。

javascript url-encoding urldecode

5
推荐指数
1
解决办法
5385
查看次数

Android 中的改造 + GET 方法 + www-form-urlencoded

我正在尝试从服务器获取列表。问题是,Retrofit 2.0 正在将我的请求转换为我的服务器无法接受的编码请求。所以我需要从请求中删除自动编码。我已经通过提出请求尝试了几乎所有解决方案encoded = true/false,但它根本不起作用。

现在的情况是:“POST”请求一切正常。有没有类似的方法可以通过“GET”调用来做到这一点?由于编码的 URL,GET 请求给我“400 Bad Request”。GET 中编码的主要问题。

后调用:

工作岗位

@FormUrlEncoded
    @POST("login")
    Call<UserBean> getLogin(@FieldMap Map<String,String> params);
Run Code Online (Sandbox Code Playgroud)

帖子编码 URL:(工作)

https://---.---.com/---/webservice/login?
jhobject=%7B%22data%22%3A%22%7B%5C%22username%5C%22%3A%5C%22abz%40cbv.com%5C%22%2C%5C%22password%5C%22%3A%5C%221234%40567%5C%22%2C%5C%22manufacturername%5C%22%3A%5C%22Android%5C%22%2C%5C%22modelname%5C%22%3A%5C%22XT1068%5C%22%2C%5C%22osversion%5C%22%3A%5C%223.4.42-g0a0ded4%5C%22%2C%5C%22countrycode%5C%22%3A%5C%22in%5C%22%2C%5C%22appversion%5C%22%3A%5C%221.0%5C%22%2C%5C%22imei%5C%22%3A%5C%22353325060286683%5C%22%2C%5C%22appfor%5C%22%3A%5C%22Sony%5C%22%7D%22%2C%22enc%22%3A%220%22%7D
Run Code Online (Sandbox Code Playgroud)

不工作 获取

 @Headers({"Content-Type:application/x-www-form-urlencoded"})
    @GET("getlisting")
    Call<MyBean> getListing(@QueryMap Map<String,String> params);
Run Code Online (Sandbox Code Playgroud)

获取编码的 URL:(不起作用)

    https://---.---.com/---/webservice/getlisting?
 jhobject=%257B%2522data%2522%253A%257B%2522pageno%2522%253A%25221%2522%252C%2522totalpages%2522%253A%25220%2522%252C%2522recordperpages%2522%253A%252210%2522%252C%2522cstatus%2522%253A%25221%2522%252C%2522reportid%2522%253A%252253%2522%257D%252C%2522enc%2522%253A%25220%2522%252C%2522token%2522%253A%252209046d74-c047-4534-be0b-050dadad18b8%257E%257E23717%2522%257D
Run Code Online (Sandbox Code Playgroud)

android get url-encoding retrofit retrofit2

5
推荐指数
1
解决办法
3711
查看次数

如何使用 Faraday 的 post 方法将 JSON 作为表单数据发送

我应该如何使用带有“application/x-www-form-urlencoded”和“multipart/form-data;”的 post 方法在 Faraday 中发送此 JSON 标题?

message = {
  "name":"John",
  "age":30,
  "cars": {
    "car1":"Ford",
    "car2":"BMW",
    "car3":"Fiat"
  }
 }
Run Code Online (Sandbox Code Playgroud)

我试过了:

conn = Faraday.new(url: "http://localhost:8081") do |f|
  f.request :multipart
  f.request :url_encoded
  f.adapter :net_http
end

conn.post("/", message)
Run Code Online (Sandbox Code Playgroud)

这个 cURL 请求有效

curl -X POST \
  http://localhost:8081 \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \
  -F 'message=2018-12-27 12:52' \
  -F source=RDW \
  -F object_type=Responses
Run Code Online (Sandbox Code Playgroud)

但我不太知道如何让它在法拉第工作。此外,cURL 请求中的数据不是嵌套的 JSON,因此我需要能够动态创建请求正文,因为我不会提前知道 JSON 的确切结构。

如果您需要更多详细信息或清晰度,请提出任何问题。

谢谢!

json multipartform-data url-encoding faraday

5
推荐指数
1
解决办法
2万
查看次数

UrlDecode是否正确处理加号(+)?

根据RFC 2396,

加号"+",美元"$"和逗号","字符已添加到
"保留"集中的字符,因为它们在查询组件中被视为保留字符.

确实,搜索这个网站"加+逗号,美元$",你得到

https://stackoverflow.com/search?q=plus+%2B+comma+,+dollar+ $

Plus仅在未被用作分隔符时进行编码(由应用程序).

但正如其他人所观察到的那样,.NET的UrlDecode功能将加号转换为空间.指定了这种行为在哪里?

.net url-encoding

4
推荐指数
1
解决办法
4628
查看次数

在Delphi中URLEncode文件名的最佳方法是什么?

我的桌面应用程序必须从Internet下载文件.文件的路径是已知的,文件名本身是半变量的,即其他人将在那里放置新文件,我的应用程序将不得不下载它们.

现在我想确保URL是安全的,并且它将被正确解释.另外,如果文件名中有'#'(你永远不知道),我确实希望它被编码.Javascript有两个不同的功能:encodeURIencodeURIComponent.后者还编码'#'字符,以及其他内容.当然,我可以自己动手,但我认为必须有功能准备就绪,我不妨做出一些旧的错误.

我将使用一个使用WinInet系列API函数(InternetOpen及其同类)的对象下载该文件.

所以我开始在MSDN上搜索,当然,还有UrlCanonicalize.但也有UrlEscape,CreateUri(但这不存在于Delphi 2010单元中),最后是InternetCreateUrl,它要求我拆分整个URL.我宁愿将URL的第一部分与URLEncoded文件名连接起来.

此外,它们都有大量不同的标志,不同的默认值在Windows版本的过程中发生了变化,我再也无法弄清楚它们之间的差异.有人知道哪一个最适合这个目的吗?

delphi winapi urlencode url-encoding delphi-2010

4
推荐指数
1
解决办法
2074
查看次数

URL编码从JS到Drupal的字符串

我有一个使用Ajax的Drupal Web应用程序; 有时,Ajax函数需要将字符串作为参数传递给Drupal函数

$.ajax({url: "index.php?q=get_value/"+encodeURIComponent(value),  
Run Code Online (Sandbox Code Playgroud)

当值包含斜杠时,无法从Drupal函数中识别出

 function get_value($value) {
       print urldecode($value);
Run Code Online (Sandbox Code Playgroud)

例如,如果传递的字符串是ABC/123,则get_value仅打印ABC

如何解决这个问题传递斜杠并从PHP/Drupal获取整个字符串?

javascript uri drupal url-encoding

4
推荐指数
1
解决办法
1109
查看次数

为什么Uri对不同的方案表现不同?

在与Uri班级一起回答另一个问题时,我发现了一些对我来说很奇怪的东西:

考虑这两个Uris:

var u1 = new Uri("http://a.b:33/abc%2fdef/c?d=f");
var u2 = new Uri("foobar://a.b:33/abc%2fdef/c?d=f");
Run Code Online (Sandbox Code Playgroud)

他们的区别仅在于他们的计划.提供的标识符的所有其他元素都是相同的.

那么,为什么,当我转储Segments这些Uri实例的属性时,我是否看到以下输出u1:

/ 
abc/ 
def/ 
c 

......但不同的输出u2

/ 
abc%2fdef/ 
c 

为什么不同方案的解析行为不同?

c# uri url-encoding percent-encoding

4
推荐指数
1
解决办法
1036
查看次数

'URLEncoder.encode`的正确编码

我正在尝试标准化我的网址中的邮件,而我正在使用URLEncoder.encode.我得到的问题是,输出似乎不是一个有效的网址.例如

val text = Some("test question (a) x (b) y").get
val query = "http://localhost:8080/ask?text=" + text
println(query)
val queryEnc = URLEncoder.encode(query, "UTF-8")
println(queryEnc)
Run Code Online (Sandbox Code Playgroud)

输出:

http://localhost:8080/ask?text=test question (a) x (b) y
http%3A%2F%2Flocalhost%3A8080%2Fask%3Ftext%3Dtest+question+%28a%29+x+%28b%29+y
Run Code Online (Sandbox Code Playgroud)

输出是否是有效的URL?(它看起来没有效果,因为我机器上的Chrome和Safari无法识别它).

java scala urlencode url-encoding

4
推荐指数
1
解决办法
5179
查看次数

如何在golang中将字符串解析为url.Values?

假设我有以下字符串

honeypot=&name=Zelalem+Mekonen&email=zola%40programmer.net&message=Hello+And+this+is+a+test+message...

我想将其转换为url.Values结构,我有以下

data := url.Values{}

parameters := strings.Split(request.Body, "&")

for _, parameter := range parameters {

    parts := strings.Split(parameter, "=")

    data.Add(parts[0], parts[1])

}
Run Code Online (Sandbox Code Playgroud)

确实可以将其转换为,url.Values但是问题是它不会将url编码的值转换+为空格,所以首先有更好的方法来解析它吗?然后,如果不是,我该如何首先将url编码的字符串转换为普通字符串?

感谢您的帮助... o

parsing go url-encoding

4
推荐指数
1
解决办法
4546
查看次数