wget POST 数据
时间:2009-05-05 来源:BenBear
wget 可以用 --post-data 'post_data_string' 来提交数据,不过数据如何组织的,这里并没有说。
另外 --post-file 与 --post-date 其实一样,不同之处仅在于 --post-data 的数据从参数获取,--post-file 从文件中读取。请注意 --post-file 并不是 upload file!
如果只是 post 一些 key=value&k2=v2 的查询字符串,那么 post-data 就跟 GET 的查询字符串一样(问号后面的内容)。
比如
wget --post-data "inputid=content" http://foo.com/cgi
相当于一个 "inputid" 的输入框有内容 "content"。与 http://foo.com/cgi?inputid=content 效果类似。
如果要 post 文件,那么就要自己组织 post-data 的格式,此时最好先把 post-data 放到文件再用 --post-file 输入。另外 Headers 里要加
Content-Type:multipart/form-data;boundary=---------------------------7d33a816d302b6
其中 ---------------------------7d33a816d302b6 是自定义的分隔符。详见参考[2]。
参考:
[1] “wget 1.9 can do POST as well”, Bertrand Delacrétaz, http://grep.codeconsult.ch/2005/01/21/wget-19-can-do-post-as-well/, date: 2009-05-05
[2] “multipart form-data boundary 说明”, http://www.web1357.cn/post/multipartform_data_boundary_post.html, date: 2009-05-05
另外 --post-file 与 --post-date 其实一样,不同之处仅在于 --post-data 的数据从参数获取,--post-file 从文件中读取。请注意 --post-file 并不是 upload file!
如果只是 post 一些 key=value&k2=v2 的查询字符串,那么 post-data 就跟 GET 的查询字符串一样(问号后面的内容)。
比如
wget --post-data "inputid=content" http://foo.com/cgi
相当于一个 "inputid" 的输入框有内容 "content"。与 http://foo.com/cgi?inputid=content 效果类似。
如果要 post 文件,那么就要自己组织 post-data 的格式,此时最好先把 post-data 放到文件再用 --post-file 输入。另外 Headers 里要加
Content-Type:multipart/form-data;boundary=---------------------------7d33a816d302b6
其中 ---------------------------7d33a816d302b6 是自定义的分隔符。详见参考[2]。
参考:
[1] “wget 1.9 can do POST as well”, Bertrand Delacrétaz, http://grep.codeconsult.ch/2005/01/21/wget-19-can-do-post-as-well/, date: 2009-05-05
[2] “multipart form-data boundary 说明”, http://www.web1357.cn/post/multipartform_data_boundary_post.html, date: 2009-05-05
相关阅读 更多 +