通过Linux系统发送get请求访问接口

场景:某些场景的服务器对权限有很高的限制,你直接通过自己电脑发送的请求未必会被某个服务器接收并响应。

解决,我们可以通过同一级别的服务器发送请求,也就是今天要将的curl这个命令

 

部分参数说明

参数说明
-c file将cookie写入到file这个文件中(file为文件路径)
-b file从file这个文件中将cookie读取出来
-X POST/PUT/DELETE使用POST/PUT/DELETE方法
-H param设置请求头参数
-d ""需要向后端发送的数据
-k发送https请求的时候,不做认证
(当用https请求出错的时候,可以试下加-k)
-v看到详细的请求头中的信息
-i看到详细返回头中的信息
-o filename url将对应路径的文件以该文件名下载下来
-O url使用URL中默认的文件名保存到本地
-F "key=value"curl会以multipart/form-data的方式发送POST请求
以key=value的形式发送数据
如果是文件的话,则需要以key=@value(加上@的标志)

举个例子:现在A服务器提供一个接口,根据身份证查询姓名,/getNameById  这个接口只对B服务器上的应用开放,这个时候你有一个身份证号想知道姓名是什么,你就不得不访问A的接口/getNameById,但是你发现通过本地访问这个接口一直报超时,这是因为A服务器有自己的防御机制,只会响应B服务器的请求,这个时候如果你有B服务器的使用权,你就可以通过curl这个命令访问查询姓名的接口,大概格式就是 curl -k "https://ip:8080/getNameById" 得到的结果就是你想要的,我推荐后面的地址用""保住,不然可能会出异常。对一些情况还是挺适用的。

Linux环境下,使用libusb库进行HID(Human Interface Device,人类接口设备)控制传输发送请求,通常涉及到以下几个步骤: 1. **安装libusb**: 首先需要确保已经安装了libusb库,如果没有,可以使用包管理器如apt-get或yum进行安装。例如在Ubuntu上: ```bash sudo apt-get install libudev-dev libusb-1.0-0-dev ``` 2. **包含头文件**: 在C/C++程序中编写时,要包含`<libusb.h>`头文件来访问libusb功能。 3. **初始化USB库**: 创建一个`libusb_context`结构体,并打开系统USB设备上下文: ```c libusb_device_handle *dev; libusb_init(&context); dev = libusb_open_device_with_vid_pid(context, VENDOR_ID, PRODUCT_ID); ``` 其中VENDOR_ID和PRODUCT_ID是你想要操作的HID设备的制造商ID和产品ID。 4. **设置控制传输**: 使用`libusb_control_transfer()`函数发起控制传输,这个函数用于发送和接收HID报告的数据。你需要指定传输的方向、报告类型(比如IN或OUT)、报告ID等信息: ```c int result; uint8_t request_type, recipient, value, index, report[64]; struct libusb_ctrl_request ctrl_req = { .bRequestType = request_type, .bRequest = REQUEST_CODE, // HID特定的请求码 .wValue = value, .wIndex = index, .wLength = sizeof(report) }; result = libusb_control_transfer(dev, &ctrl_req, report, sizeof(report), timeout /*超时时间*/); ``` `report`数组应该包含你要发送的HID数据。 5. **处理结果和清理**: - 检查`result`值是否成功(0表示成功),处理错误。 - 完成传输后,记得关闭设备并释放资源: ```c if (result != LIBUSB_SUCCESS) { // Handle error } libusb_close(dev); libusb_exit(context); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值