• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Squid problem mit url_rewriter

PNS-Richi

Member
Hallo,

ich hab mir vor längerem zwei redirect_program/url_rewriter für squid programmiert.
Der neuer macht komische Probleme, also hab ich mir ein mini Python Script geschrieben um heraus zu finden warum dieser solche Probleme macht bzw. was Squid eigentlich so weiter sendet.

Test Script:
Code:
#! /usr/bin/env python
# -*- coding: utf-8 -*-

import sys

sys.stderr = open("/tmp/squid.stderr","a")

output_file = open("/tmp/squid.test", "a")

while True:

    line = sys.stdin.readline().strip()

    output_file.write("FROM SQUID: " + line + "\n")
       
    tmp = line.split(' ')
       
    if len(tmp) < 2:
        continue

    sys.stdout.write(tmp[0] + " \n")
    sys.stdout.flush()

output_file.close()

In der Log Datei steht nun folgendes:
Code:
FROM SQUID:
FROM SQUID:
FROM SQUID:
FROM SQUID:
FROM SQUID:
FROM SQUID:
FROM SQUID:
FROM SQUID:
FROM SQUID:
FROM SQUID:
FROM SQUID:
FROM SQUID:
FROM SQUID:
FROM SQUID:
FROM SQUID:
FROM SQUID:
FROM SQUID:
FROM SQUID:
FROM SQUID:
FROM SQUID:
FROM SQUID:
FROM SQUID:

Also bekommt mein Script und die anderen rewriters nur eine Leere Zeile. Hab ich was falsch gemacht mit dem auslesen des stdin, oder passt was mit Squid nicht? Das Problem ist, das das System dann auf 100% ausgelastet ist!

Wenn ich also ein test Script für einen url_redirector(redirect_program) schreibt, geht alles wunderbar, schreib ich eines für einen url_rewriter dann klappts nicht wirklich.

Der Vorteil von einem url_rewriter bei Squid ist das man mit threads arbeiten kann.

url_redirector:
Code:
http://www.google.at/

http://nicht-erlaubte-seite.at/index.html
http://meine-fehler-seite.blub/error.html
http://gmx.net/

http://distrowatch.com/

url_rewriter - so sollte es sein:
Code:
1 http://gmx.at
2 http://ein-donwload.com/test.zip
3 http://gmx.at
4 http://google.at
5 http://www.illegale-seite.ru/
1
3
4
5 http://fehler-seite.intern/error.html
2

url_rewriter - so ist es:
Code:
1 http://gmx.at



2 http://ein-donwload.com/test.zip

3 http://gmx.at


4 http://google.at



5 http://www.illegale-seite.ru/



1



3

4



5 http://fehler-seite.intern/error.html



2

immer zick Zeilenumbrüche sind dazwischen.

lg Richi
 
Oben