假设网址为:https://api.example.com/api
1.GET形式:
比如我们得到什么结果就输出什么结果:
<?php $a = $_GET['abc']; echo $a; ?>
现在我们在浏览器上输入网址:
https://api.example.com/api?abc=abcdef
我们可以在网页上看到:
abcdef
php获取多个数据:
<?php $a = $_GET['id']; $b = $_GET['page']; if ($a == 1) { print 'OK' . ' ' . $b; } else { print 'Wrong'; } ?>
现在我们在浏览器上输入:
https://api.example.com/api?id=1&page=123
浏览器上得到的结果:
OK 123
我们利用PHP获取数据后,就可以操控PHP读取数据库或者执行python文件,然后返回结果
2.POST形式:
这里我们暂时先只介绍最简单的一种方法(以表单形式上传):
需要注意的是,使用POST发送数据,必须指定是哪个php文件,就算是index.php,我们也不能够在url中省略,我们假设这里的url为:https://api.example.com/api/index.php
php端(获取数据):
<?php $a = $_POST['name']; $b = $_POST['password']; if ($a == 'abc' && $b == '123') { print 'Right'; } else { print 'Wrong'; } ?>
python端(发送数据):
import requests data = { 'name': 'abc', 'password': '123' } resp = requests.post('https://api.example.com/api/index.php', data=data) print(resp.text) #输出结果为 Right
如果在php设置输入错误就暂停10秒:
<?php $a = $_POST['name']; $b = $_POST['password']; if ($a == 'abc' && $b == '123') { print 'Right'; } else { sleep(10); print 'Wrong'; } ?>
注意:这种形式只能接收以表单形式传输的数据:Content-Type:application/x-www-form-urlencoded
这也是浏览器默认的传输方式,我们可以定义头部信息来确定这种传输方式:
header = { 'Content-Type': 'application/x-www-form-urlencoded' }