Пиша прост Python CGI скрипт, който хваща уеб страница и показва HTML файла в уеб браузъра (действайки като прокси). Ето го скрипта:
#!/usr/bin/env python3.0
import urllib.request
site = "http://reddit.com/"
site = urllib.request.urlopen(site)
site = site.read()
site = site.decode('utf8')
print("Content-type: text/html\n\n")
print(site)
Този скрипт работи добре, когато се изпълнява от командния ред, но когато стигне до прегледа му с уеб браузър, показва празна страница. Ето грешката, която получавам в error_log на Apache:
Traceback (most recent call last):
File "/home/public/projects/proxy/script.cgi", line 11, in <module>
print(site)
File "/usr/local/lib/python3.0/io.py", line 1491, in write
b = encoder.encode(s)
File "/usr/local/lib/python3.0/encodings/ascii.py", line 22, in encode
return codecs.ascii_encode(input, self.errors)[0]
UnicodeEncodeError: 'ascii' codec can't encode character '\u2019' in position 33777: ordinal not in range(128)