Re: [Linux-programlama] Python & PHP & HTTP POST

---------

New Message Reply About this list Date view Thread view Subject view Author view Attachment view

From: Erkin Tek (erkintek@fotograf.web.tr)
Date: Tue 19 Dec 2006 - 21:25:49 GMT


Acaba 100000.ci karakter ascii'de olmayan bir karakter olabilir mi? utf-8
kodlandıysa dosya, mesela iki byte kaplayan Ş harfi'den itibaren bozuluyor
olabilir mi?
Bu düşük bir olasılıkla (8x2)/(29x2+10) olsada ihtimal dahilinde geldi.
Knoppix'de aynı veriyi gönderiyosanız teorim çöküyor, ki denemelerde bağzen
aynısı gitmeyebiliyor.

Debian üstüne kurulmuş kubuntu kullanıyorum. MySql bağlantıları hep iso-8859-1
geliyor, keza postgresql'de de bir sorun yaşadığımı hatırlıyorum. Keza genel
olarak python da sevmiyor. Ama php'nin bir sıkıntı yaratacağını düşünmüyorum.

Veriler nasıl bir yanlışlık içine düşüyor?

Sal 19 Ara 2006 09:43 tarihinde, Aykut KOÇAK şunları yazmıştı:
> Merhaba,
>
> İstemci tarafında yazdığım bir python betiği yardımı ile sunucumda php
> ile yazılmış betiğime <2K dosyalar göndermeye çalışıyorum. KNOPPIX 3.8
> kullandığım dizüstü bilgisayarımda istemci betiği sorunsuz veri
> gönderiyor.
>
> Fakat aynı betiği Debian/stable bir sistemde çalıştırdığımda
> veriler belli bir satırdan sonra yanlış oluyor. Göndermeye çalıştığım
> veri metin dosyasının gzip ile sıkıştırılmış hali. İşin ilginç yanı,
> gönderilen dosya sunucuda da hatasız açılıyor, fakat içerisindeki veri
> yanlış oluyor. Aynı sorun wget ile post yaptığımda da oluşuyor.
>
> Bu problem için hatayı nerede aramalıyım? çekirdek, kütüphane, vs...
>
> Yardımlarınız için şimdiden teşekkürler.
>
> İstemci betiği
> =======================================
>
> #!/usr/bin/env python
> import urllib,urllib2,os,sys
> from getopt import *
>
> def usage():
> sys.stderr.write('Usage:\n\t%s -u:--url <url> -f:--file <file>
> -i:--id <id> -o:--output <outfile>\n' % sys.argv[0])
> sys.exit(1)
> if __name__=='__main__':
> try:
>
> opts,args=getopt(sys.argv[1:],'f:u:i:o:',['file=','url=','id=','output='])
> for o,a in opts:
> if o in ('-f','--file'):
> filetosend=a
> elif o in ('-i','--id'):
> id=a
> elif o in ('-u','--url'):
> url=a
> elif o in ('-o','--output'):
> outputfile=a
> print outputfile
> else:
> usage()
> except GetoptError:
> usage()
>
> try:
> fp=open(filetosend)
> l=fp.read(1000000)
> fp.close()
> w=urllib.urlencode({'id':id,'veri':l})
> fp=urllib2.urlopen(url,w)
> # Gönderdiğimiz veri açılmış şekilde geri dönmeli...
> r=fp.read(100000)
> #fp.close()
> fp=open(outputfile,'w')
> fp.write(r)
> sys.stderr.write(r)
> fp.close()
> sys.exit(0)
> except Exception,inst:
> sys.stderr.write('%s\n' % str(inst))
> sys.exit(1)
>
> =================================
>
>
> Sunucu PHP betiği
> =====================================
>
>
> if ( isset($_POST)) {
> $veri=urldecode($_POST['veri']);
> $id=$_POST['id'];
> $file_name = "/tmp/medialist_$id.gz";
> $fp=fopen($file_name,'w');
> fwrite($fp,$veri);
> fclose($fp);
> if($file_handle = gzopen($file_name, "r"))
> {
> $contents = gzread($file_handle, 100000);
> gzclose($file_handle);
> $lines=explode("\n",$contents);
> foreach ($lines as $line) {
> echo $line."\n";
> }
> }
> }
> _______________________________________________
> Linux-programlama mailing list
> Linux-programlama@liste.linux.org.tr
> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama


New Message Reply About this list Date view Thread view Subject view Author view Attachment view

---------

Bu arsiv hypermail 2.1.2 tarafindan uretilmistir.