linux shell中curl 发送post请求json格式问题的处理方法

今天在linux中使用curl发送一个post请求时,带有json的数据,在发送时发现json中的变量没有解析出来

如下

curl -i -X POST -H 'Content-type':'application/json' -d {"BTime":""$btime""} http://api.baidu.com

变量没有做解析

原来在shell中,"" '还是有很大区别的,

把修改后的curl发送贴出

atime=`date -d "$1" +%s`
btime=`date -d "$2" +%s`
curl -i -X POST -H "'Content-type':'application/json'" -d '{"ATime":"'$atime'","BTime":"'$btime'"}' $url

需要注意的是,json数据里变量要用''括起来

下面看下Linux 中使用 curl 发送 post 请求

curl -i -X POST -H 'Content-type':'application/json' -d '{"keyWord":"雅诗兰黛","page":1,"pageSize":12,"sortFieldList":["isCombo|desc"]}' http://127.0.0.1:8015/search/prod/query
# 注意的是,json数据里变量要用 '' 括起来

总结

(0)

相关推荐

  • nodejs使用http模块发送get与post请求的方法示例

    本文实例讲述了nodejs使用http模块发送get与post请求的方法.分享给大家供大家参考,具体如下: GET请求 var http = require('http'); var querystring = require('querystring'); var data = { a: 123, time: new Date().getTime()};//这是需要提交的数据 var content = querystring.stringify(data); var options = {

  • 详解js跨域请求的两种方式,支持post请求

    JSONP实现跨域 常用的jquery实现跨域调用 $.ajax({ url: "http://127.0.0.1/~chenjiebin/mycode/php/crossdomain/index.php", dataType: "jsonp", jsonp: "callback", context: document.body, success: function(data) { console.log(data); } }); 这个调用实际上

  • JSP、Servlet中get请求和post请求的区别总结

    在学习JavaWeb最初的开始阶段,大家都会遇到HttpServlet中的doGet和doPost方法.前两天看<Head First Servlets & JSP>看到其中讲关于Servlet中get请求和post请求的区别,现总结如下: 1:请求数据的大小不同. 因为get请求的数据是要追加到URL中,而URL的数据量一般不能超过2K,所以用get请求的方法对数据的大小有限制.而post请求方法是把数据放在消息体中,所以理论上对数据量没有限制.(但是实际操作中也不能能太大) 2:安

  • nodejs实现HTTPS发起POST请求

    准备用nodejs搞一个快速注册163邮箱的东西,需要在某一步的时候post数据到https,node的官方文档实在太简陋了,网上找了个差不多的例子,拿来改了改用. var util = require('util'), https = require('https'); var regUrl = "https://ssl.mail.163.com/regall/unireg/call.do;jsessionid=%s?cmd=register.start&adapter=%s&

  • JS获取url参数,JS发送json格式的POST请求方法

    <script type="text/javascript"> 一.获取url所有参数值 function US() { var name, value; var str = location.href; var num = str.indexOf("?"); str = str.substr(num + 1); var arr = str.split("&"); for (var i = 0; i < arr.leng

  • Angularjs中$http以post请求通过消息体传递参数的实现方法

    本文实例讲述了Angularjs中$http以post请求通过消息体传递参数的方法.分享给大家供大家参考,具体如下: Angularjs中,$http以post在消息体中传递参数,需要做以下修改,以确保消息体传递参数的正确性. 一.在声明应用的时候进行设置: var httpPost = function($httpProvider) { /******************************************* 说明:$http的post提交时,纠正消息体 ***********

  • java模拟post请求发送json的例子

    java模拟post请求发送json,用两种方式实现,第一种是HttpURLConnection发送post请求,第二种是使用httpclient模拟post请求, 方法一: package main.utils; import java.io.*; import java.net.HttpURLConnection; import java.net.URL; public class HttpUtilTest { Log log = new Log(this.getClass());//初始化

  • 轻松创建nodejs服务器(10):处理POST请求

    目前为止,我们做的服务器没有实际的用处,接下来我们开始实现一些实际有用的功能. 我们要做的是:用户选择一个文件,上传该文件,然后在浏览器中看到上传的文件. 首先我们需要一个文本区(textarea)供用户输入内容,然后通过POST请求提交给服务器. 我们在start事件处理器里添加代码,requestHandlers.js修改如下: 复制代码 代码如下: function start(response) {  console.log("Request handler 'start' was ca

  • Nodejs Post请求报socket hang up错误的解决办法

    参考nodejs官网发送http post请求的方法,实现了一个模拟post提交的功能.实际使用时报socket hang up错误. 后来发现是请求头设置的问题,发送选项中需要加上headers字段信息(这个估计也和对方的服务器有关,对于不完成的post请求头,可能被丢弃了). 完整的代码如下(遇到类型问题的同学可以做个参考): 复制代码 代码如下: var querystring = require('querystring')   , http = require('http'); var

  • JS实现使用POST方式发送请求

    window.location.href是我们常用来在js中实现页面跳转的方法,这是使用get方式发送请求,示例如下 window.location.href = url; 优点是简单易用,缺点是如果有参数的话,参数会暴露在url地址中,这降低了系统的安全性,也影响用户体验.下面我们来讲下如何通过POST请求实现页面跳转. //发送POST请求跳转到指定页面 function httpPost(URL, PARAMS) { var temp = document.createElement("f

随机推荐