当先锋百科网

首页 1 2 3 4 5 6 7

基本思想:需要使用http协议完成业务需求,需要测试一下,所以学习一下想关的应用实践

一、下载Postman Postman

ubuntu@ubuntu:~$ tar-zxvf postman-linux-x64.tar.gz 
ubuntu@ubuntu:~/postman-linux-x64/Postman$ ./Postman 

帐号某宝解决,也可以试用30天

二、固定postman到任务栏图标

ubuntu@ubuntu:~$ sudo gedit /usr/share/applications/Postman.desktop

添加内容

[Desktop Entry]
Type=Application
Name=Postman
GenericName=Postman
Comment=Postman:The Postman IDE
Exec="/home/ubuntu/postman-linux-x64/Postman/Postman" %f
Icon=/home/ubuntu/postman-linux-x64/Postman/app/icons/icon_128x128.png
Terminal=Postman
Categories=Postman

 再次设置一下图标。使用下列命令打开Postman然后用十字光标点击一下postman工具,显示下列字段

ubuntu@ubuntu:~$ xprop |grep WM_CLASS
WM_CLASS(STRING) = "postman", "Postman"
ubuntu@ubuntu:~$ 

重新修正配置文件

[Desktop Entry]
Type=Application
Name=Postman
GenericName=Postman
Comment=Postman:The Postman IDE
Exec="/home/ubuntu/postman-linux-x64/Postman/Postman" %f
Icon=/home/ubuntu/postman-linux-x64/Postman/app/icons/icon_128x128.png
Terminal=Postman
Categories=Postman
StartupWMClass=postman

再次重启Postman就可以添加任务栏,固定住

三、建立postman请求http服务测试,首先需要搭建nginx的http服务器,支持http服务,参考14、Android Studio通过http向C++服务端传递base64图片,然后对图片处理(写入本地)返回数据给Android studio_sxj731533730的博客-CSDN博客_c++ http传图片

发送成功,同时参考它的例子,将其代码抄下来,将https改成http,这样不用ssl支持,就可以在代码中集成使用了

四、系统好像默认支持curl,可以不用编译源码安装或者命令安装,跳过源码安装直接执行下面的事例子代码执行和测试

ubuntu@ubuntu:~$ sudo apt-get install curl

或者源码下载libcurl :curl downloads

ubuntu@ubuntu:~$ wget https://curl.se/download/curl-7.85.0.tar.gz
ubuntu@ubuntu:~$ tar -zxvf curl-7.85.0.tar.gz
ubuntu@ubuntu:~/curl-7.85.0$ ./configure --without-ssl
ubuntu@ubuntu:~/curl-7.85.0$ make
ubuntu@ubuntu:~/curl-7.85.0$ sudo make install

测试代码

cmakelists.txt

cmake_minimum_required(VERSION 3.16)
project(demo_curl)

set(CMAKE_CXX_STANDARD 14)

add_executable(demo_curl main.cpp)
target_link_libraries(demo_curl -lcurl )

源码

#include<stdio.h>
#include<curl/curl.h>
int main(int argc, char *argv[])

{
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "POST");
  curl_easy_setopt(curl, CURLOPT_URL, "192.168.10.26:8334/api/hello");
  curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
  curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, "http");
  struct curl_slist *headers = NULL;
  headers = curl_slist_append(headers, "Authorization: Basic dmNoYXdsYTpIZXJlQDExMTE=");
  headers = curl_slist_append(headers, "Content-Type: application/json");
  curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
  const char *data = "{\"praenomen\":\"Gaius\",\"nomen\":\"Julius\",\"cognomen\":\"Caezar\",\"born\":-100,\"died\":-44}";
  curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data);
  res = curl_easy_perform(curl);
    if(res != CURLE_OK)
        fprintf(stderr, "curl_easy_perform() failed: %s\n",
                curl_easy_strerror(res));
    curl_easy_cleanup(curl);
}

    curl_global_cleanup();

return 0;
}

测试结果

/home/ubuntu/demo_curk/cmake-build-debug/demo_curl
{ "result": welcome to httpserver }
Process finished with exit code 0