如何用curl调试http服务

开发微信公众平台时,因为公众号与用户的交互都要经过,腾讯的微信服务器post请求,,流程如下图(图是直接从网上down的)

图片

使用curl可以方便的调试公众账号服务端程序,省去了写form表单,直接在命令行下就能轻松搞定,下面记录的是curl的一些基本用法

下载文件

curl -o [filename] url

自动跳转

curl -L url
会根据跳转指示,跳到最终页面,不会停留到中间页面

查看http请求详细信息

  • curl -i[I] url

    -i response header 与 body信息一并显示
    -I 只显示response的header部分

  • curl -v url #显示详细连接建立过程
  • curl --trace output.txt url or curl --trace-ascii output.txt url
    前者记录详细的连接信息,类似tcpdump的结果,包含16禁止与ascii形式,后者只显示ascii形式的连线详细信息

提交信息到服务器

GET方式

1
2
3
4
<form method="GET" action="junk.cgi">   
 <input type=text name="birthyear">   
 <input type=submit name=press value="OK">   
 </form>   
  • curl “http://www.hotmail.com/when/junk.cgi?birthyear=1905&press=OK”

POST方式

1
2
3
4
<form method="POST" action="junk.cgi">   
 <input type=text name="birthyear">   
 <input type=submit name=press value="OK">   
 </form>   
  • curl –data “birthyear=1905&press=%20OK%20” http://www.example.com/junk.cgi
  • curl –data-urlencode “name=I am Daniel” http://www.example.com
    前者是没有经过编码,需要手动添加编码一些字符,后者curl会自动帮你搞定编码

文件上传

1
2
3
4
5
<form method="POST" enctype='multipart/form-data' action="upload.cgi">

 <input type=file name=upload>
 <input type=submit name=press value="OK">
</form>
  • curl –form upload=@localfilename –form press=OK [URL]

thedarkside

这是一个最好的时代,这是一个最坏的时代。

stay connected

228,480

Fans

21,563

Followers

20,563

Followers

8,125

Subscribers

2,253

Subscribers

10,563

Followers

最新文章

entertainment
Buckingham Palace soil used in Tate exhibit
Oct 13, 2016
Sports
Legendary coach Steve Spurrier was truly
Oct 13, 2016
Technology
Acer reveals all-in-one Windows 10 PC
Oct 13, 2016
entertainment
Revival allows Selena Gomez to shed
Oct 13, 2016
entertainment
Buckingham Palace soil used in Tate exhibit
Oct 13, 2016
Sports
Legendary coach Steve Spurrier was truly
Oct 13, 2016
Technology
Acer reveals all-in-one Windows 10 PC
Oct 13, 2016
entertainment
Revival allows Selena Gomez to shed
Oct 13, 2016