linux下使用curl访问带多参数、GET掉参数解决方案

Web运维 靠谱运维 2847℃ 0评论

一般情况下,我们都是通过浏览器访问网页的,这样我们只要在浏览器里输入一个URL就能实现访问,但当我们需要长时间在浏览器上运行程序,如:采集时,浏览器就会因为长时间的运行和输出,而不堪重负,这时,我们可以通过在linux下使用curl方式进行浏览器请求,具体方法是这样:
curl http://mywebsite.com
如果我们的url中存在多个参数,这样的方式就不会奏效,因为在linux系统中 &会使进程系统后台运行,必须对&进行转义,具体方法如下:
url 为 http://mywebsite.com/index.php?a=1&b=2&c=3
web形式下访问url地址,使用 $_GET是可以获取到所有的参数
curl -s http://mywebsite.com/index.php?a=1&b=2&c=3
然而在linux下,上面的例子 $_GET只能获取到参数 a
由于url中有&其他参数获取不到,在linux系统中 &会使进程系统后台运行
必须对 &进行下转义才能 $_GET获取到所有参数
curl -s http://mywebsite.com/index.php?a=1\\\\&b=2\\\\&c=3
当然,最简单的方法 用双引号把整个url引起来就ok了
curl -s “http://mywebsite.com/index.php?a=1&b=2&c=3″
# 顺便再提一下 curl 中 post 传参数的方法
curl -d ‘name=1&pagination=2’demoapp.sinap.com/worker.php
# 这样 demoapp.sinap.com 站点中的 worker.php 脚本,就能得到 $_POST[‘name’] 和 $_POST[”pagination] 对应的值
# 再补充下curl获得网站信息的方法( -s 表示静默 –head 表示取得head信息 )
curl -s –head www.sina.com

转载请注明:靠谱运维 » linux下使用curl访问带多参数、GET掉参数解决方案

喜欢 (1)or分享 (0)
发表我的评论
取消评论

表情