linux通过curl方式调用接口

IT教程 3年前 (2020) https://www.55wd.com

curl

今天遇到个需求,linux上将txt文件导入数据库,需要监测txt中的数据是否完全导入了数据库,即txt中的行数是否和数据库中的行数是否一致的问题。问题是获取txt行数需要执行linux指令,需要java代码知道IP 端口 用户名 密码;线上安全问题,根本不允许java应用有这么大的权限。

经过mentor指点,可以反过来,让linux上使用指令调用我的java应用即可,即使用curl指令调用java接口。

1、调用get请求

$ curl http://www.linuxidc.com/login.cgi?user=test001&password=123456

2、调用post请求

$ curl -d "user=nickwolfe&password=12345" http://www.linuxidc.com/login.cgi

3、xml格式post请求

方式一:发送磁盘上面的xml文件(推荐)

root [ /apps ]$ curl -X POST -H 'content-type: application/xml'  -d @/apps/myxmlfile.txt http://172.19.219.xx:8081/csp/faq/actDiaUserInfo.action

ps:其中myxmlfile.txt为磁盘上面的xml文件,后面为请求路径

linux通过curl方式调用接口

方式二:在命令行直接发送xml结构数据

root [ /apps ]$ curl -H 'content-type: application/xml' -X POST -d '<?xml version="1.0" encoding="UTF-8"?><userinfoReq><subsNumber>13814528620</subsNumber><type>3</type></userinfoReq>' http://172.19.219.xx:8081/csp/faq/actDiaUserInfo.action

或者

root [ /apps ]$ echo '<?xml version="1.0" encoding="UTF-8"?><userinfoReq><subsNumber>13814528620</subsNumber><type>3</type></userinfoReq>'|curl -X POST -H'Content-type:text/xm' -d @- http://172.19.xx.xx:8081/csp/faq/actDiaUserInfo.action

ps:其中<?xml version...>就是要post的xml 文件,后面是请求路径,linux上双引号或单引号之间嵌套需要使用反斜杠 \ 进行转义

响应消息:

<?xml version="1.0" encoding="utf-8"?><result><result_code>0</result_code><result_text>success</result_text><getUserinfoRsp><userInfo><identityID>1117384802</identityID><phone>13814528620</phone><email>13814528620@139.com</email><accountID></accountID><province>江苏</province><city>南京</city><passId>7775637869243</passId></userInfo></getUserinfoRsp></result>

4、json格式post请求

方式一:发送磁盘上面的JSON文件(推荐)

root [ /apps ]$ curl -X POST -H 'content-type: application/json'  -d @/apps/myjsonfile.txt http://192.168.129.xx/AntiRushServer/api/ActivityAntiRush

ps:其中myjsonfile.txt为磁盘上面的JSON文件,后面为请求路径

linux通过curl方式调用接口

方式二:在命令行直接发送JSON结构数据

root [ ~ ]$ curl -H 'content-type: application/json' -X POST -d '{"accountType":"4","channel":"1","channelId":"YW_MMY","uid":"13154897541","phoneNumber":"13154897541","loginSource":"3","loginType":"1","userIp":"192.168.2.3","postTime":"14633fffffffffff81286","userAgent":"Windows NT","imei":"352600051025733","macAddress":"40:92:d4:cb:46:43","serialNumber":"123"}' http://192.168.129.xx/AntiRushServer/api/ActivityAntiRush

响应消息:

{"code":"4000","message":"参数错误:time的值不是UInt"}

方式一:发送磁盘上面的请求报文文件(推荐)

root [ /apps ]$ curl -H 'Content-Type: text/xml;charset=UTF-8;SOAPAction:""' -d @/apps/mysoapfile.xml http://172.18.173.xx:8085/csp-magent-client/madapterservices/madapter/lmCountAccessor

ps:其中myjsonfile.txt为磁盘上面的请求报文文件,后面为请求路径

linux通过curl方式调用接口

方式二:在命令行直接发送xml结构数据

[plain] view plain copy

<code class="language-plain">root [ /apps ]$ curl -H 'content-type: application/xml' -d '<?xml version="1.0" encoding="utf-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://service.accessor.madapter.csp.huawei.com"><soapenv:Header /><soapenv:Body><ser:leaveMessageCount><ser:in0><![CDATA[20161011160516XdznbN]]></ser:in0><ser:in1><![CDATA[1600106496388382726]]></ser:in1><ser:in2><![CDATA[14]]></ser:in2><ser:in3><![CDATA[<extendParams><channelid>1600</channelid><servicetype></servicetype><appid></appid><usertype>10</usertype><userid>6496388382726</userid><msisdn>13814528620</msisdn><email></email><account></account><nickname></nickname><questionType></questionType></extendParams>]]></ser:in3></ser:leaveMessageCount></soapenv:Body></soapenv:Envelope>' http://172.18.173.xx:8085/csp-magent-client/madapterservices/madapter/lmCountAccessor</code>  

响应消息

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soap:Body><ns1:leaveMessageCountResponse xmlns:ns1="http://service.accessor.madapter.csp.huawei.com"><ns1:out>8</ns1:out></ns1:leaveMessageCountResponse></soap:Body></soap:Envelope>

借鉴:https://blog.csdn.net/russ44/article/details/53308838

linux c线程控制 ——创建线程和终止线程

线程,我自己看到的两篇讲解比较生动形象的易于理解的博文,如下。 线程与进程之间的关系: http://www.ruanyifeng.com/blog/2013/0

linux下通过mentohust登录锐捷校园网

前言 博主前段时间,把室友不用的电脑装了个双系统(win7+ubuntu16.04)。在此十分感谢室友对我倾力帮助。装机过程挺简单,应该和大家都

Windows 修改键盘映射(附带Linux下Ubuntu的修改方法)

 Windows 修改键盘映射(附带Linux下Ubuntu的修改方法) 一、简述      通过修改键盘映射关系可以改变按键的功能。如:     1

Linux下常用的优秀软件

Linux好用软件介绍常用软件工具软件优化图像视频相关安装达芬奇:音频播放器下载工具常用软件 工具软件 plank:如果你喜欢dock,这个d

(Linux)make编译用法简述

前言 在Linux系统中我们经常会使用到make编译的命令来对一些源码包进行编译安装,下面就详细的解析一下make系列命令的用法。 命

文章回顾

大家看了本文linux通过curl方式调用接口的精彩教程资源内容,是不是对linux通过curl方式调用接口了解更多,真心希望linux通过curl方式调用接口能帮助到你, 小编会一直给你带来更多教程资源文章信息。

版权声明: 发表于 2020-12-05 23:44:26。

本文由第三方用户分享仅代表作者观点,不代表本网站立场,秉承互联网开放分享的精神,目的在于传递更多信息,加强各行业互通交流,但对内容不作任何保证或承诺,请读者自行参考斟酌。网站发布的信息(包含但不限于版式、图片、字体、文章等素材)由第三方用户分享,版权归原作者所有,本站不承担任何相关的版权纠纷等相关责任。如您认为本篇内容侵犯了您的权益,请与我们联系,我们会及时处理。

豌豆资源网专注分享全网综合资源网站大全,致力于超实用的内容资源搜索。

转载请注明:
本文标题:linux通过curl方式调用接口
本文地址:https://www.55wd.com/s181869/