'+' в схеме/хосте/пути URL представляют пространство?

Просто была такая же проблема и хотел поделиться своим решением. (внимательно следит за тем, что предлагает Амадан)

кусок питона

import subprocess

output = subprocess.check_output(["php", path-to-my-php-script, input1])

вы также можете сделать: blah = input1 вместо простой передачи неназванного аргумента ... и затем использовать $ _GET [ 'бла'].

php штука

$blah = $argv[1];



if( isset($blah)){

    // do stuff with $blah

}else{
    throw new \Exception('No blah.');
}
219
задан Mad Scientist Moses 25 October 2019 в 10:36
поделиться

3 ответа

  • Ожидается, что процентное кодирование в разделе пути URL-адреса будет декодировано, но
  • ожидается, что любые + символы в компоненте пути будут обрабатываться буквально.

Чтобы быть точным: + - это только специальный символ в компоненте запроса.

166
ответ дан 23 November 2019 в 04:10
поделиться

Вы можете найти хороший список соответствующих URL-кодированных символов на W3Schools .

  • + становится % 2B
  • пространство становится % 20
232
ответ дан 23 November 2019 в 04:10
поделиться

URL-адреса следует кодировать всегда.

Вот как Ruby кодирует ваш URL-адрес:

irb(main):008:0> CGI.escape "a.com/a+b"
=> "a.com%2Fa%2Bb"
-5
ответ дан 23 November 2019 в 04:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: