【问题标题】:cURL requesting URL with whitespaces in URL.. What to docURL 请求 URL 中带有空格的 URL .. 怎么办
【发布时间】:2011-08-21 08:54:18
【问题描述】:

所以我试图卷曲这个网址:

http://images.fastcompany.com/upload/Screen shot 2011-04-28 at 8.13.21 PM.png

URL 编码为:

http%3A%2F%2Fimages.fastcompany.com%2Fupload%2FScreen+shot+2011-04-28+at+8.13.21+PM.png

但是,curl 显然需要将其解码为正确的 URL。

我该如何解决这个问题? cURL 一到达任何空格就会删除字符串的其余部分... :(

我应该提一下,我不能用双引号将 URL 括起来,因为它是一个正在发布的变量。

编辑:哈哈哈哈哈哈哇哇哇哇哇哇。谢谢大家:P

【问题讨论】:

标签: php parsing curl communication


【解决方案1】:

也许尝试用%20替换空格?

【讨论】:

    【解决方案2】:

    只需使用 str_replace。

    echo str_replace ( ' ', '%20', 'http://images.fastcompany.com/upload/Screen shot 2011-04-28 at 8.13.21 PM.png' );
    

    【讨论】:

      【解决方案3】:

      使用str_replace(); 函数。将您的 " " 替换为 "%20"

      【讨论】:

        【解决方案4】:

        我用:

        $link = trim($link);
        $link = str_replace ( ' ', '%20', $link);
        

        【讨论】:

          【解决方案5】:

          对我来说,只需在 "" 之间添加空格即可。

          例子

          curl --upload-file "001- name - lastName.pdf" https://transfer.sh/ernesto
          

          注意“001-name-lastName.pdf”中“”的使用

          【讨论】:

            【解决方案6】:

            在 Windows 上,您可以使用 notepad++

            1. 在文件中写入文本并在notepad++中打开。
            2. 在文本中选择一个空字符串,然后点击搜索。
            3. 会出现搜索框,现在点击替换标签。
            4. 选中“搜索模式”选项中的“扩展”复选框。
            5. 点击替换

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2014-04-18
              • 1970-01-01
              • 1970-01-01
              • 2014-06-14
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多