Я пытаюсь написать простой редиректор в стиле squid для http-прокси-сервера polipo, как указано в документации .
Вот код:
#!/usr/bin/python
# based on
# http://gofedora.com/how-to-write-custom-redirector-rewritor-plugin-squid-python/
import sys
def modify_url(line):
l = line.split(" ")
old_url = l[0]
new_url = "\n"
if "experts-exchange" in old_url:
new_url = "http://127.0.0.1/" + new_url
return new_url
while True:
line = sys.stdin.readline().strip()
new_url = modify_url(line)
sys.stdout.write(new_url)
sys.stdout.flush()
При запуске polipo с этим перенаправителем и попытке доступа к http://www.experts -exchange.com / я получаю следующую ошибку:
500 Couldn't test for forbidden URL: Redirector error
На самом деле, я получаю ту же ошибку при попытке получить доступ к любому URL, что заставляет меня думать, что это проблема с моим кодом перенаправителя.
Вывод в журнал polipo не дает больше подсказок, все, что я вижу, это:
Redirector returned incomplete reply.
Что я делаю не так?
Редактировать: я исправил modify_url () для возврата значения, потому что это не так. Я все еще получаю ту же ошибку.