Как & ldquo; декодировать URL & rdquo; строка в Emacs Lisp?

Сначала проверьте, работает ли flush () . Если это так, хорошо, если это не так, вероятно, означает, что веб-сервер по какой-то причине буферизуется, например mod_gzip включен.

Для чего-то вроде ping самым простым методом является цикл внутри PHP, запускать «ping -c 1» несколько раз и вызывать flush () после каждого выхода. Предполагая, что PHP настроен на отмену, когда HTTP-соединение закрывается пользователем (обычно это значение по умолчанию, или вы можете вызвать ignore_user_abort (false), чтобы убедиться), тогда вам не нужно беспокоиться о запущенных процессах ping либо .

Если действительно необходимо, чтобы вы только выполняли дочерний процесс один раз и непрерывно отображали его вывод, что может быть сложнее - вам, вероятно, придется запускать его в фоном, перенаправлять вывод в поток, а затем PHP-эхо-поток, возвращаемый пользователю, чередующийся с регулярными вызовами flush ().

21
задан legends2k 19 May 2017 в 22:08
поделиться

4 ответа

org-link-unescape делает задание для очень простых случаев... w3m-url-decode-string лучше, но это не встроено, и версия, которую я имею локально, не работает с Emacs 23.

4
ответ дан Derek Slager 19 May 2017 в 22:08
поделиться

Я думаю, что Вы делаете его немного слишком трудно: split-string, вероятно, сделает большую часть того, что Вы хотите. Для более необычного материала взгляните на функции в url-expand.el; к сожалению, у многих из них нет строк документа, таким образом, Вам, вероятно, придется прочитать код.

url-generic-parse-url похож на потенциального победителя.

0
ответ дан Charlie Martin 19 May 2017 в 22:08
поделиться
url-unhex-string
41
ответ дан huaiyuan 19 May 2017 в 22:08
поделиться

Emacs поставляется с библиотекой URL , которая предоставляет набор функций парсинга URL-адресов, таких как huaiyuan и Charlie Мартин уже указал. Вот небольшой пример, который даст вам представление о том, как его использовать:

(let ((url "http://www.google.hu/search?q=elisp+decode+url&btnG=Google+keres%E9s&meta="))
  ;; Return list of arguments and values
  (url-parse-query-string
   ;; Decode hexas
   (url-unhex-string
    ;; Retrieve argument list
    (url-filename
     ;; Parse URL, return a struct
     (url-generic-parse-url url)))))
=> (("meta" "") ("btnG" "Google+keresés") ("/search?q" "elisp+decode+url"))

Я думаю, что лучше полагаться на него, чем org-mode , поскольку он является его основным назначением. проанализировать URL.

11
ответ дан 29 November 2019 в 03:27
поделиться
Другие вопросы по тегам:

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