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&param2=value2” -F “file=@./my.png”

或者使用

curl -X POST -F “file=@my.txt” -F “username=user1” -F “password=pass” “http://xxxx

发表评论

邮箱地址不会被公开。 必填项已用*标注