[Linux-programlama] Python & PHP & HTTP POST

---------

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

From: Aykut KOÇAK (aykutkocak@superonline.com)
Date: Tue 19 Dec 2006 - 07:43:44 GMT


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

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";
                }
        }
}
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFFh5gwnNSG7dD+ILQRAu8TAKCnSpVp2vLJm3wjO/ESOcLCkKSiuQCbB882
NsJ1IHtlE7brrlalmCW7C4I=
=HUqN
-----END PGP SIGNATURE-----
_______________________________________________
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.