【问题标题】:Curl add backslashes卷曲添加反斜杠
【发布时间】:2016-07-09 16:00:10
【问题描述】:

我尝试将数组传递给 curl 参数,但 curl 在请求中添加了反斜杠。

php代码:

$domain = 'website.com';
curl_setopt($ch, CURLOPT_URL, "http://domain.com/x.json?domains='[\"".$domain."\"]'");

日志:

"GET /x.json?domains='[\"http://website.com\"]' HTTP/1.1" 200 105 "-" "-"

如您所见,数组看起来像 '[\"http://website.com\"]' 而不是 '["http://website.com"]'

谁能帮帮我。

【问题讨论】:

    标签: php arrays curl


    【解决方案1】:

    您可以使用urlencode() 将值作为带有url 的GET 参数传递。

    试试:

    curl_setopt($ch, CURLOPT_URL, "http://website.com/x.json?domains=".urlencode( '["'.$domain.'"]' ) );
    

    【讨论】:

    • 结果:域=%5B%22http%3A%2F%website.com%22%5D
    • 在日志中它看起来像这样,但是如果你打印出 $_GET['domains'] 你会得到 JSON 数组作为字符串。
    猜你喜欢
    • 2015-10-23
    • 2019-07-04
    • 1970-01-01
    • 2012-05-06
    • 2016-06-14
    • 1970-01-01
    • 1970-01-01
    • 2017-05-12
    • 1970-01-01
    相关资源
    最近更新 更多