v2.5.2
Giriş yap

Python request ile post edilen veriyi Sunucu tarafında Alma

Anonim
871 defa görüntülendi

Merhabalar python ile request modülünü kullanarak localden bir sunucuya veri post ediyorum.
Ancak bu veriyi sunucu tarafında alıp işleyemiyorum. Php ile denedim ancak sonuca varamadım.
Bu konuda yardım edebilir misiniz?


import requests

url = "https://test.com/py.php"
userdb  = "admin"
passdb = "admin"
tamdata = "deneme gönderim"
myobj = {'login': ""+userdb+":"+passdb,
                 'data':tamdata}
x = requests.post(url, data = myobj)
print(x)

Python kodlarım yukarıda ki gibi sorunsuz şekilde gönderim sağlayabiliyorum.

Ancak aşağıda ki php kodları ile iki farklı deneme yapsamda gönderilen veriyi alamadım.


$name = $_POST['login']; // 1. Deneme 

$data = $_POST['myobj']; // 2. Deneme 

Yardımlarınızı bekliyorum. Şimdiden teşekkür ederim.

Cevap yaz
Cevaplar (2)
shelby
1698 gün önce

Python dictonary'deki keyler postalanır.

sukas
1699 gün önce

python ile direk request ettiğinde ekrana yazmaz ancak veri tabanına aktarıp yazabilirsin. Json içerisindeki key leri aldıktan sonra direk veri tabanı işlemi yapabilirsin


include 'BasicDB.php';

$db = new BasicDB('localhost', 'root', 'username', 'pass');



$email  = $_POST['email']

$data = [
    'username' => $username,
    'password' => $password
];

$insert = $db->insert('table')
  ->set($data); 

  if($insert):
    echo 'Kayıt yapıldı';
  else:
    echo 'Kayıt olmadı';
  endif;

php kodları bu şekilde


import requests
url = "http://orneksite.com/post.php"
params = {'username':'muratcankuru', 'password':'123456i'}
headers={'User-Agent':'Murat Can Kuru'}
r = requests.post(url, params, headers)
print(r.url)
print(r.text)

python kodları bu şekilde.

python ile request yaptığın dosya içerisinde php kodlarını yazmanız gerekiyor.