标签: urlencode

为 reqwest 客户端构建具有多个值的参数的查询字符串

我正在尝试使用构建器的 query() 方法为 reqwest 客户端构建查询字符串。但其中一个参数必须是像这样编码的多个值

 ?dt=t&dt=at&dt=m
Run Code Online (Sandbox Code Playgroud)

我不知道怎么办。

use reqwest::blocking::Client;
use serde_json::{json, Value as JsonValue};


fn main() {
    let query = json!({
        "client": "gtx",
        "ie": "UTF-8",   // input encoding
        "oe": "UTF-8",   // output encoding
        "sl": "auto",    // source language
        "tl": "en",      // target language
        "dt": ["t", "at", "m"],  // <<<<< ERROR
        "q": "salut les gars. ca va? on y va!",       // text to translate
    });
    let client = Client::new();
    let response = client.get("https://translate.googleapis.com/translate_a/single")
                         .query(&query)
                         .send()
                         .unwrap();
    if response.status().is_success() {
        let body: …
Run Code Online (Sandbox Code Playgroud)

urlencode rust reqwest

3
推荐指数
1
解决办法
4479
查看次数

转换为&amp; 在Python中

我正在使用Python中的简单爬虫.目的是创建一个sitemap.xml.(你可以在这里找到非常版的alpha版本:http://code.google.com/p/sitemappy/)我注意到如果我使用包含非HTML实体(例如&)的URL生成xml,则xml不会验证,Google网站站长工具不接受此操作.有没有快速的方法来编码URL的查询字符串部分?

谢谢!

马特奥

python xml sitemap urlencode

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

php编码带参数空格的完整url

我有一个看起来像这样的网址

http://example.com/index.php?id=111&title=word1 word2 word3
Run Code Online (Sandbox Code Playgroud)

我需要在使用curl请求url之前对空格进行编码.

但是如何urlencode网址的正确部分.

urlencoderawurlencode编码https问号的斜线等.

php urlencode

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

Android WebView显示纯文本而不是html

首先,我要说这只是Android 2及更早版本的问题(4似乎没有受到影响,我没有测试3).

我有一个WebView从字符串加载HTML.HTML看起来像这样:

<html>  
    <head>
        <link rel='stylesheet' type='text/css' href='http://www.robotsidekick.com/test.css?rev=0' />
    </head>
    <body>
        <h1>Hello World</h1>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

您可以看到css文件如下所示:

body {
    font-family: "Lucida Console", "Lucida Sans Typewriter", Monaco, "Bitstream Vera Sans Mono", monospace;
}
h1 {
    border-bottom: 3px solid #ccc;
}
Run Code Online (Sandbox Code Playgroud)

WebView代码如下所示:

final WebView webview = new WebView(this);
setContentView(webview);
final String result = "<html><head><link rel='stylesheet' type='text/css' href='http://www.robotsidekick.com/test.css?rev=0' /></head><body><h1>Hello World</h1></body></html>";
webview.loadData(result, "text/html", Encoding.UTF_8.toString());
Run Code Online (Sandbox Code Playgroud)

怎么了

我看到html代码,WebView好像我已经将mime类型设置为纯文本.

html作为纯文本发生了什么

我期待什么(以及Android 4.x中会发生什么

我看到了html WebView

有一些事情必须是真实的,以显示我看到的症状:

  • Android 2.x(我使用的是2.3.7和2.2)
  • 必须通过url访问css href="http://www.robotsidekick.com/test.css?rev=0"而不是href="test.css"(但是如果它是真正的css文件 …

android urlencode android-webview

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

语法之间的Solr

我安装了solr很棒,但是我在选择价格范围内时卡住了。我想选择价格在20到50之间的所有产品,但似乎不起作用。cost> 20的solr语法是什么? AND费用<50或20到50之间的费用?

lucene solr urlencode

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

file_get_contents无法打开流:HTTP请求失败!HTTP/1.1 500内部服务器错误

我正在通过URL检索外部源中的图像并将其保存到我的网络服务器中.不幸的是,我有时会收到以下错误:无法打开流:HTTP请求失败!HTTP/1.1 500内部服务器错误.

当我使用浏览器访问给定的URL时,图像显示并且有效.网址:

http://****.com/00/s/NTgwWDcyNg==/z/7LEAAMXQVT9TCcxx/$_85.JPG
Run Code Online (Sandbox Code Playgroud)

我使用的代码:

$opts = array('http'=>array('header' => "User-Agent:Mozilla/5.0 (Windows NT 6.2) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.75 Safari/537.1\r\n", 'timeout' => "360"));
$context = stream_context_create($opts);                                         
$imageString = file_get_contents(urldecode(urlencode($filename)), false, $context);                                            
$save = file_put_contents(dirname(dirname(__FILE__)) . '/tmp/' . $id . '_' . $sequenceNumber . '.jpg', $imageString);
Run Code Online (Sandbox Code Playgroud)

任何人都知道为什么我会收到500错误?

php image urlencode file-get-contents

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

在golang http.NewRequest中包含%2F

当我尝试在http.NewRequest中使用%2F包含"/"时,它会在调用url.Parse()时将其转换回"/".有什么方法可以防止这种情况吗?我尝试将百分比转换为%25,但它仍然不起作用.

你可以在这里看到它:http: //play.golang.org/p/YOnktREbbf

url encoding urlencode go

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

使用cURL的Bash脚本; 不发送POST作为JSON

我正在创建一个简单的bash脚本来运行cURL POST命令.该脚本即使是相同的命令也不会将POST数据作为json发送.

当我手动输入命令时,它将POST数据作为JSON发送,没有任何问题.

$ curl --include --header 'Accept:application/json' --header 'Authorization:Basic xxxxxxxxxxxxxxxxx' --data '{"sourceTemplateId":111111111111111}' --header 'Content-Type:application/json' https://api.everbridge.net/rest/notifications/000000000000000
HTTP/1.1 200 OK
Server: nginx/1.8.0
Date: Wed, 18 May 2016 18:13:15 GMT
Content-Type: application/json
Transfer-Encoding: chunked
Connection: keep-alive

{
  "message" : "OK",
  "id" : 5748251085623370,
  "baseUri" : "https://api.everbridge.net/rest/notifications/000000000000000/",
  "instanceUri" : "https://api.everbridge.net/rest/notifications/000000000000000/5748251085623370"
}
Run Code Online (Sandbox Code Playgroud)

当我为我的bash脚本运行echo时,我得到了这个.

$ ./Send_Not.sh
curl --include --header 'Accept:application/json' --header 'Authorization:Basic xxxxxxxxxxxxxxxxx' --data '{"sourceTemplateId":111111111111111}' --header 'Content-Type:application/json' https://api.everbridge.net/rest/notifications/000000000000000
Run Code Online (Sandbox Code Playgroud)

字面上相同的格式

但是当我运行脚本时,我收到了这个错误.

$ ./Send_Not.sh
HTTP/1.1 415 Unsupported Media Type
Server: nginx/1.8.0
Date: Wed, 18 May 2016 18:28:50 …
Run Code Online (Sandbox Code Playgroud)

rest bash json curl urlencode

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

如何使用bash或curl将数据输入到URL中

如何对字符串进行urlencode并将其嵌入到URL中?请注意,我并不是要获取或发布数据,因此curl 的-Gand --data--data-urlencode选项似乎并没有起作用。

例如,如果您使用

curl -G http://example.com/foo --data-urlencode "bar=spaced data"
Run Code Online (Sandbox Code Playgroud)

在功能上等同于

curl http://example.com/foo?bar=spaced%20data"
Run Code Online (Sandbox Code Playgroud)

这是不希望的。

我有一个foo/bar必须经过urlencode foo%2fbar并嵌入到URL中的字符串。

curl http://example.com/api/projects/foo%2fbar/events
Run Code Online (Sandbox Code Playgroud)

一个假设的解决方案(如果我可以找到类似的东西)将是在bash中预处理数据(如果存在某种urlencode功能的话)。

DATA=foo/bar
ENCODED=`urlencode $DATA`
curl http://example.com/api/projects/${ENCODED}/events
Run Code Online (Sandbox Code Playgroud)

另一个假设的解决方案(如果我能找到类似的东西)将是卷曲的切换,类似于以下内容:

curl http://example.com/api/projects/{0}/events --string-urlencode "0=foo/bar"
Run Code Online (Sandbox Code Playgroud)

我正在寻找这个问题的答案的特定原因是Gitlab API。例如,gitlab get单个项目 NAMESPACE/PROJECT_NAME是URL编码的,例如。/api/v3/projects/diaspora%2Fdiaspora(其中/以表示%2F)。除此之外,您可以请求项目中的各个属性,因此最终得到一个URL,例如http://example.com/projects/diaspora%2Fdiaspora/events

尽管这个问题是特定于gitlab的,但我想它通常总体上适用于REST API,而令我惊讶的是我找不到关于stackoverflow或Internet搜索的预先存在的答案。

bash curl urlencode

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

Swift编码和GET参数

我有一个简单的GET登录请求.用户名是Silver,密码是 MOto&@ 10
我正在使用SwiftHttp框架来处理请求.在点击登录请求时,我总是得到错误的响应.
但是,当在浏览器上点击登录请求URL(用服务器替换实际域)时,我得到了:
https:// server/api/check-access/by-login-pass?_key = wlyOF7TM8Y3tn19KUdlq&login = silver&pass = MOto%26 @ 10

编码密码有问题.虽然我用百分比编码取而代之.这是我的代码:

do {               
   let passwordString = self.convertSpecialCharacters(string: password.text!)
   print("%@", passwordString)
   let opt = try HTTP.GET(Constants.kLoginUrl, parameters: ["login": username.text!, "pass": passwordString])
   opt.start { response in
             if let err = response.error {
                 print("error: \(err.localizedDescription)")
                 return
             }

             print("opt finished: \(response.description)")
             self.parseLoginResponse(response.data)
}
} catch _ as NSError {

}  
Run Code Online (Sandbox Code Playgroud)

这是convertSpecialCharacters:

func convertSpecialCharacters(string: String) -> String {
        var newString …
Run Code Online (Sandbox Code Playgroud)

urlencode ios nsstringencoding swift

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