Sending data using POST in Python to PHP
PHP代码:
1 2 3 4 | <?php $data=$_POST['data']; echo $data; ?> |
当我这样做时,python打印的html页面会通知我在
Error in $name; undefined index
号
但是,当我以get(
我在这里的主要问题是,数据中的值似乎没有像我希望使用post那样传递给php。可能有什么问题?
Python的:看看这个
1 2 3 4 5 6 7 8 | import urllib2, urllib mydata=[('one','1'),('two','2')] #The first is the var name the second is the value mydata=urllib.urlencode(mydata) path='http://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 |
几乎一切就看线2
PHP的:heres
1 2 3 4 | <?php echo $_POST['one']; echo $_POST['two']; ?> |
这应该给你
1 2 | 1 2 |
祝你好运和我希望这帮助他人
有很多文章,建议我出去然后urllib2 urllib和使用要求。(读的参考解决方案的更多信息,第一)
你的Python文件test.php):
1 2 3 | import requests userdata = {"firstname":"John","lastname":"Doe","password":"jdoe123"} resp = requests.post('http://yourserver.de/test.php', params=userdata) |
你的PHP文件。
1 2 3 4 | $firstname = htmlspecialchars($_GET["firstname"]); $lastname = htmlspecialchars($_GET["lastname"]); $password = htmlspecialchars($_GET["password"]); echo"firstname: $firstname lastname: $lastname password: $password"; |
firstname: John lastname: Doe password: jdoe123
参考文献:
1)良好的文章,为什么你应该使用请求
2)什么是差异之间的urllib,urllib2模块和请求?
1 2 3 4 5 6 7 | 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) |