python request 获取入参
时间: 2023-09-05 22:14:36 浏览: 149
在 Python 中使用 `requests` 库来发送 HTTP 请求并获取请求的入参(参数)是非常简单的。以下是一个示例代码:
```python
import requests
# 发送 GET 请求
response = requests.get('http://example.com/api', params={'param1': 'value1', 'param2': 'value2'})
# 获取请求的入参
params = response.request.url.split('?')[1]
print(params)
```
在上面的示例中,我们使用 `requests` 的 `get` 方法发送了一个 GET 请求,并通过 `params` 参数传递了要发送的入参。然后,我们可以通过 `response.request.url` 获取完整的请求 URL,并使用 `split('?')` 将 URL 分割成两部分,取第二部分即可获得请求的入参。
注意:上述代码仅适用于 GET 请求,如果是 POST 请求,入参将包含在请求体中,而不是 URL 中。
相关问题
用python 写一个post接口入参校验
好的,下面是一个示例代码,用于使用 Flask 框架编写一个 POST 接口并进行参数校验:
```python
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route('/my_api', methods=['POST'])
def my_api():
# 定义需要校验的参数名和数据类型
param_dict = {
'name': str,
'age': int,
'gender': str
}
# 获取 POST 请求的 JSON 数据
data = request.get_json()
# 校验参数是否存在且数据类型是否正确
for key, value_type in param_dict.items():
if key not in data:
return jsonify({'error': f'{key} is required'})
elif not isinstance(data[key], value_type):
return jsonify({'error': f'{key} should be {value_type.__name__}'})
# 参数校验通过,执行接口逻辑
name = data['name']
age = data['age']
gender = data['gender']
# do something with name, age, gender
# 返回成功响应
return jsonify({'success': True})
```
在上面的示例代码中,我们首先定义了需要校验的参数名和数据类型,然后获取 POST 请求的 JSON 数据,并对每个参数进行校验。如果参数不存在或数据类型不正确,则返回错误响应;否则,执行接口逻辑,并返回成功响应。
写出html的代码, 用<input>获得用户输入的文本数据,在HTML中使用JavaScript函数,将获取的数据作为参数传递给服务器端的Python脚本。 在服务器端的Python脚本中,使用Flask框架,将接收到的参数传递给含参函数。 执行含参函数,并将结果返回给HTML页面
下面是一个简单的示例代码:
HTML页面(index.html):
```html
<!DOCTYPE html>
<html>
<head>
<title>HTML调用Python函数示例</title>
<script type="text/javascript">
function callPythonFunction() {
var userInput = document.getElementById("userInput").value;
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
document.getElementById("result").innerHTML = xhr.responseText;
}
};
xhr.open("POST", "/call_function", true);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.send("userInput=" + userInput);
}
</script>
</head>
<body>
<h1>HTML调用Python函数示例</h1>
<label for="userInput">请输入数据:</label>
<input type="text" id="userInput">
<button onclick="callPythonFunction()">调用Python函数</button>
<p id="result"></p>
</body>
</html>
```
服务器端的Python脚本(app.py):
```python
from flask import Flask, request
app = Flask(__name__)
def my_function(user_input):
# 在这里编写含参函数的代码
result = "您输入的数据是:" + user_input
return result
@app.route("/")
def index():
return app.send_static_file("index.html")
@app.route("/call_function", methods=["POST"])
def call_function():
user_input = request.form["userInput"]
result = my_function(user_input)
return result
if __name__ == "__main__":
app.run()
```
在运行服务器端的Python脚本之前,需要安装Flask框架:
```
pip install flask
```
运行服务器端的Python脚本:
```
python app.py
```
然后在浏览器中打开http://127.0.0.1:5000/,即可看到HTML页面。在输入框中输入任意文本,点击“调用Python函数”按钮,即可调用服务器端的Python脚本中的含参函数,并在页面上显示结果。
阅读全文