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