POST如何发送呢?
POST中往往会可以提交用户名,密码,检索登录页面
我们使用POST的方式发送页面,我们看一下POST的使用方式,我们可以使用POST请求页面并且检索返回,解析页面接口
cURL和wget命令都可以通过各种参数来处理POST请求,能够以一种名称-值的方式,传递给命令
我们如何通过curl来发送POST请求,并读取网站的HTML相应
curl URL -d “postvar=postdata2”
假如有一个网站需要提供账户及密码,然后点击了Submit按钮进行提交,这样可以通过一行curl来将POST请求提交自动化,如果看了源代码,可以发现类似的HTML表单
action是目标的URL,host和user的输入内容以POST请求的方式被发送到submit.php中,然后对应的相应页面返回浏览器
我们可以按照下面的方式自动化POST请求
curl
http://book.sarathlak.shman.com/lsc/mlogs/submit
-d “host=test-host&user-slynux”
-d表示发送POST请求,字符串参数和GET请求在语义上类似,每一对var=value之间使用&来分隔
-d的参数别忘加引号,不然$会被解读为该命令作为后台进程进行
那么具体的执行方式如下
curl中使用-d 或者–data来发送POST数据
curl –data “name=value” URL -o output.html
需要发送多个变量,用&分割变量,如果使用了&,那么该 “名称?值” 就需要引号
不然
curl -d “name1=val1&name2=val2” URL -o output.html
使用wget来发送post请求
wget的 –post-data “string” 可以使用POST方式发送数据
例如
wget URL -post-data “name=value” -O output.html
发送带有文件的post请求如下
curl http://xxxxxxxx -X POST -d “paramter1=value1¶m2=value2” -F “file=@./my.png”
或者使用
curl -X POST -F “file=@my.txt” -F “username=user1” -F “password=pass” “http://xxxx“