Python: Запуск команды wget приводит к тому, что она игнорирует все что угодно, кроме sh в URL - PullRequest
0 голосов
/ 27 января 2020

Я вызываю здесь команду для wget для URL http://pypi.org/project/pip/#files

    self.run_command('("wget http://pypi.org/project/pip/\#files -O index1.html")')

Мой журнал считает, что я запускаю его без чего-либо от ха sh вперед

2020-01-27 11:37:23,128 020776:084 INFO:  wget http://pypi.org/project/pip/

Я пробовал это без кавычек, скобок и escape-символов, но получил тот же результат. У кого-нибудь есть идеи?

1 Ответ

1 голос
/ 27 января 2020

Ха sh интерпретируется как символ комментария в CLI и, следовательно, все, что после него игнорируется.

В URL-адресе ха sh указывает на привязку, к которой должен прокручиваться браузер. , В определении URL в RFC3986 написано, что часть ha sh (называемая фрагментом) никогда не передается на сервер. То есть вы можете безопасно удалить его из URL и просто использовать:

self.run_command('("wget http://pypi.org/project/pip/ -O index1.html")')

Кроме того: 1. Почему бы не использовать HTTP-интерфейс python напрямую (вместо процессов порождения)? 2. Почему бы не использовать PIP API напрямую?

...