Hướng dẫn how to send data from python to php - cách gửi dữ liệu từ python sang php

Mã PHP:


Khi tôi làm điều đó, trang HTML mà Python in thông báo cho tôi rằng PHP không nhận được bất kỳ giá trị nào trong $data, tức là:

Lỗi trong $ name; Chỉ số không xác định

Tuy nhiên, khi tôi gửi dữ liệu dưới dạng GET [//localhost/mine.php?data=data] và thay đổi phương thức PHP từ Post sang Get [____10], giá trị được nhận và xử lý.

Vấn đề chính của tôi ở đây là có vẻ như giá trị trong dữ liệu không được chuyển qua PHP vì tôi muốn sử dụng POST. điều gì sai?

Peter O.

31.5K14 Huy hiệu vàng77 Huy hiệu bạc92 Huy hiệu Đồng14 gold badges77 silver badges92 bronze badges

Đã hỏi ngày 18 tháng 11 năm 2010 lúc 11:27Nov 18, 2010 at 11:27

1

Nhìn vào con trăn này:

import urllib2, urllib
mydata=[['one','1'],['two','2']]    #The first is the var name the second is the value
mydata=urllib.urlencode[mydata]
path='//localhost/new.php'    #the url you want to POST to
req=urllib2.Request[path, mydata]
req.add_header["Content-type", "application/x-www-form-urlencoded"]
page=urllib2.urlopen[req].read[]
print page

Hầu như mọi thứ đều ở ngay đó, hãy nhìn vào dòng 2

Đây là PHP:


Điều này sẽ cung cấp cho bạn

1
2

Chúc may mắn và tôi hy vọng điều này sẽ giúp ích cho người khác

Đã trả lời ngày 13 tháng 5 năm 2011 lúc 1:15May 13, 2011 at 1:15

TheBestjohnthebestjohnTheBestJohn

5971 Huy hiệu vàng6 Huy hiệu bạc14 Huy hiệu đồng1 gold badge6 silver badges14 bronze badges

Có rất nhiều bài viết ngoài đó đề xuất sử dụng các yêu cầu thay vì Urllib và Urllib2. [Đọc tài liệu tham khảo để biết thêm thông tin, giải pháp đầu tiên]requests rather then Urllib and urllib2. [Read References for more Information, the solution first]

Tệp python của bạn [test.php]:

import requests
userdata = {"firstname": "John", "lastname": "Doe", "password": "jdoe123"}
resp = requests.post['//yourserver.de/test.php', params=userdata]

Tệp PHP của bạn:

$firstname = htmlspecialchars[$_GET["firstname"]];
$lastname = htmlspecialchars[$_GET["lastname"]];
$password = htmlspecialchars[$_GET["password"]];
echo "firstname: $firstname lastname: $lastname password: $password";

FirstName: John LastName: DOE Mật khẩu: JDOE123

References:

1] Bài viết hay, tại sao bạn nên sử dụng các yêu cầu

2] Sự khác biệt giữa mô -đun urllib, urllib2 và yêu cầu là gì?

Đã trả lời ngày 7 tháng 4 năm 2015 lúc 12:51Apr 7, 2015 at 12:51

user1767754user1767754user1767754

22.2K16 Huy hiệu vàng134 Huy hiệu bạc156 Huy hiệu đồng16 gold badges134 silver badges156 bronze badges

import urllib
import urllib2

params = urllib.urlencode[parameters] # parameters is dicitonar
req = urllib2.Request[PP_URL, params] # PP_URL is the destionation URL
req.add_header["Content-type", "application/x-www-form-urlencoded"]
response = urllib2.urlopen[req]

Đã trả lời ngày 18 tháng 11 năm 2010 lúc 11:32Nov 18, 2010 at 11:32

Ilian Ilievilian IlievIlian Iliev

3.2073 huy hiệu vàng25 Huy hiệu bạc 50 Huy hiệu Đồng3 gold badges25 silver badges50 bronze badges

Nhìn ARDOUND Tôi chỉ tìm thấy bài đăng này, đó là một điểm khởi đầu nhưng tôi phải tìm kiếm rất nhiều để cập nhật nó, tôi thích đăng một bản cập nhật cho câu trả lời của TheBestJohn vì anh ấy gửi bài gốc.

Lưu ý: PHP giống nhau

import urllib.request
import urllib.parse

mydata=[['one','128'],['two','247']]
mydata=urllib.parse.urlencode[mydata]
utf8 = bytes[mydata, 'utf-8']
path='//localhost/new.php'
page=urllib.request.urlopen[path, utf8, 300].read[]
print[page]

Đã trả lời ngày 2 tháng 9 lúc 16:30Sep 2 at 16:30

Python có thể kết nối với PHP không?

Lưu ý: Tuy nhiên, Python sẽ nhận được đầu vào từ PHP dưới dạng mảng;PHP sẽ không nhận được đầu ra từ Python dưới dạng mảng mà là một chuỗi.Biến mảng để lưu tất cả đầu ra và in biến JSON.Python will receive input from PHP as array, however; PHP will not receive output from Python as array but a single String. array variable to save all output and print the JSON variable.

Chúng ta có thể viết php bằng python không?

Nếu bạn có thể chạy tập lệnh PHP cục bộ từ dòng lệnh, SubProcess.check_output [] sẽ cho phép bạn có thể PHP và sẽ thu được giá trị trả về.Nếu bạn đang truy cập PHP thông qua ổ cắm, thì bạn có thể sử dụng Urllib.subprocess. check_output[] will let you can PHP and will capture the return value. If you are accessing PHP via a socket, then you can use urllib.

Tôi có thể chạy PHP và Python trên cùng một máy chủ không?

Hoàn toàn có thể, như một vấn đề thực tế bạn đã nghe nói về PIP chưa?Tôi thậm chí đã gọi Python mà không có các dòng Pip và Echo trong bảng HTML trước đây.Hoạt động như một sự quyến rũ.Lưu câu trả lời này., as a matter of fact have you heard of PiP? I have even called Python without PiP and echo out lines in an HTML table before. Works like a charm. Save this answer.

Bài Viết Liên Quan

Chủ Đề