一、curl命令
curl
是传输数据的命令行工具,可以通过命令行发送HTTP请求和接收HTTP响应。它的名字是“client for URLs”,意为URL的客户端,表示该工具主要用于处理URL相关的任务。curl可以用于下载文件、上传文件、测试Web服务API等任务。- 基本语法为
curl [options] [URL]
,其中option是可选项:- -X:指定HTTP请求方法,如-X GET表示使用GET方法发起请求。
- -H:指定HTTP请求头,如-H "Content-Type: application/json"表示指定请求头的Content-Type为JSON格式。
- -d:指定HTTP请求体数据,如-d '{“key”: “value”}'表示提交一个JSON格式的请求体数据。
- -o:指定输出文件名,如-o output.txt表示将服务器响应的内容保存到output.txt文件中。
- -k:允许不验证SSL证书,如-k表示不验证SSL证书。
- -i:显示HTTP响应头信息,如-i表示显示HTTP响应头。
- -v:显示详细的HTTP请求和响应信息,如-v表示显示详细的请求和响应信息。
二、举例和注意事项
# 1. 发送GET请求
curl -X GET http://example.com
# 2. 发送POST请求
curl -X POST -H "Content-Type: application/json" -d '{"key": "value"}' http://example.com/api
# 3. 下载文件
curl -O http://example.com/file.txt
# 4. 显示HTTP响应头信息
curl -i http://example.com
# 5. 显示详细的HTTP请求和响应信息
curl -v http://example.com
注意:curl
可以通过各种选项参数来实现不同的功能,例如使用代理、设置超时时间、使用Cookie等。curl命令在Web服务开发和测试中非常常用,通过curl命令可以模拟不同类型的HTTP请求,对Web服务进行测试和调试。
三、使用requests模块改成python代码
原本是这样使用curl传输数据:
curl --location 'http://10.50.74.216:30930/embedding/embed'
--header 'Content-Type: application/json'
--data '{
"prompt":["你是谁"],
"embedding_id":1
}'
使用python的requests
模块后代码如下:
- 使用
requests.post()
方法发送一个POST请求,指定URL为模型的URL。我们还设置了请求头Content-Type
为application/json
,以便告诉服务器我们发送的是JSON数据。- 数据部分被封装在data字典中,并使用
json.dumps()
方法将其转换为JSON字符串。然后,我们将该字符串作为data参数传递给请求。
- 数据部分被封装在data字典中,并使用
- 响应返回后,可以使用
response.json()
方法将其解析为JSON格式的数据。
# pip install requests
import requests
import json
url = 'http://......'
headers = {'Content-Type': 'application/json'}
data = {
'prompt': ['你是谁'],
'embedding_id': 1
}
response = requests.post(url, headers=headers, data=json.dumps(data))
result = response.json()
# 处理结果
print(result)