[linux]使用curl进行GET、POST和网页调试

以前在win下开发的时候,习惯用的调试工具是谷歌自带控制台和postman,谷歌控制台比较方便,但不能对请求进行重发,post虽然很好用,但是感觉还是有点‘大’。在linux下,其实完全没有那么麻烦,系统自带的curl足够自用。curl是一个向服务器传输数据的工具,它支持http、https、ftp、ftps、scp、sftp、tftp、telnet等协议,这里只针对http进行讲解一些常用的用法,当然还有其他诸如下载的功能参考:https://www.cnblogs.com/wildkid1024/p/10585665.html

GET请求

curl默认的请求即为GET请求,对应的参数直接拼接在url中即可。例子:

curl http://www.baidu.com/s?wd=curl

上述请求会上百度发起一条查询请求,参数是wd=url

POST请求

使用post方式发送请求需要在参数里添加d参数,例子:

curl -d "name=test&page=1" http://www.baidu.com

只查看header

有时候不需要得到网页的具体内容,只需要得到header,对应的参数为I

curl -I http://www.baidu.com

显示通信过程

对于需要查看网络状况的情况下,可以添加-v参数来查看整个连接过程。

更进一步地,如果想看到更详细的信息,使用:
curl --trace output.txt www.baidu.com

运行结束后在output.txt里查看具体的连接信息。

设置头部信息

对于需要设置头部信息的网页,使用-H参数进行:
curl -H "Content-Type:application/json" http://example.com
或者设置header参数
curl --header "Content-Type:application/json" http://example.com

Referer字段

有时你需要在http request头信息中,提供一个referer字段,表示你是从哪里跳转过来的。

curl --referer http://www.example.com http://www.example.com

User Agent字段

这个字段是用来表示客户端的设备信息。服务器有时会根据这个字段,针对不同设备,返回不同格式的网页,比如手机版和桌面版。

iPhone4的User Agent是

Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7

curl可以这样模拟:

curl --user-agent "[User Agent]" [URL]

cookies

对于需要保存cookies的网页:
curl -c cookiec.txt http://www.linux.com

对于需要传输cookies的网页:
curl -b cookiec.txt http://www.linux.com

自动跳转

有时候网页是需要跳转的,这时就需要-L参数来设置自动跳转:

curl -L http://github.com

原文地址:https://www.cnblogs.com/wildkid1024/p/10585838.html

时间: 2024-10-04 05:45:31

[linux]使用curl进行GET、POST和网页调试的相关文章

linux指令 curl指令详解

指令:curl 在linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具.它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具. 语法:# curl [option] [url] 常见参数: -A/--user-agent <string>              设置用户代理发送给服务器 -b/--cookie <name=string/file>     cookie字符串或文件读取位置 -c/--co

Linux &amp; Mac curl 命令行使用——POST&amp;GET

http提交一个表单,比较常用的是POST模式和GET模式 在curl的命令行下,GET模式什么option都不用,只需要把变量写在url里面就可以了 比如: curl http://www.sina.com.cn/login.cgi?user=admin&password=admin 而POST模式的option则是 -d curl -d "user=admin&password=admin" http://www.sina.com.cn/login.cgi 如果访问

linux 下curl安装与使用

安装 curl官网上下载安装包 curl-7.37.0.tar.gz 解压 tar -zxvf curl-7.37.0.tar.gz 进入解压后的目录,指定安装目录 ./configure --prefix=/usr/local/curl make make install 使用 将curl命令加入环境变量 vi /etc/profile export $PATH:/usr/local/curl/bin curl http://www.meilishuo.com linux 下curl安装与使用

【Linux】 curl: (35) SSL connect error问题处理 以及 Couldn&#39;t resolve host 问题处理

装服务的时候遇到如下情况SSL connect error: 问题原因: nss版本过旧 解决方法: yum -y update nss  更新一下就可以了 -------------------------------------------------------------------------------------------------------------------------------------------------------------------- 若再出现下面

Linux开发基于Qt的Android应用指定调试设备

Linux开发基于Qt的Android应用指定调试设备 最近安装了中外结合的Ubuntu Kylin试试.然后换上了搜狗输入法,这个编码的感觉比微软那个爽多了.开Qt Creator.通过Chromium来访问网页也是飞快的,使用GCC编译的速度也是非常满意的.而在指定安卓设备的时候遇到了一点儿小麻烦:我在将安卓平板电脑连接到电脑的时候,发现adb无法读取,从而Qt Creator的界面看不到我们的真机设备.怎么办呢?记得以前也解决过,但是忘记通过博客记录方法了,这次一定要记下来,以后可不能忘记

Linux下Debug模式启动Tomcat进行远程调试

J2EE开发各类资源下载清单,  史上最全IT资源,点击进入! 一.      应用场景 在实际的测试过程中,可能会遇到由于程序执行的不间断性,我们无法构造测试场景来验证某个功能的正确性,只有通过代码级的调试才能验证功能是否正确.然而开发本地调试的话,不具有说服力,这时我们测试人员必须连接到linux下的基线版本代码进行远程调试 二.调试步骤 1.部署服务工程到Linux系统下的Tomcat中,本文档重点是远程调式,为了防止文档篇幅累赘,这里就不介绍部署工程了. 2.更改tomcat远程调试端口

网页调试技巧:抓取马上跳转的页面POST信息或者页面内容

http://www.qs5.org/Post/625.html 网页调试技巧:抓取马上跳转的页面POST信息或者页面内容 2016/02/02 | 心得分享 | 0 Replies 有时候调试网页或者抓别人网页的POST包的时候. 总会遇到这样的尴尬,我们需要抓取POST提交的信息. 或者获取POST完成页面返回的代码. 但是,目标页却马上就跳转了,导致,还没来得及Esc呢,页面就已经刷新了. 这种情况,起码谷歌浏览器的F12是搞不了了... 比如下面的情况 我把密码放在 被Post页面的源码

Vs2013在Linux开发中的应用(18): 应用程序调试方案

快乐虾 http://blog.csdn.net/lights_joy/ 欢迎转载,但请保留作者信息 在前面我们对VS的调试接口做了基本的功能验证,下面开始方案的拟定: 如上图所示,我们需要在WINDOWS端运行两个辅助程序,一个是RemoteConsole,这个程序的主要作用是显示远端程序的输出,并将用户输入传送给远端.另一个是python解释器,这个解释器用于完成SSH/TELNET/COM连接,并负责调用远端Linux上的gdb. 当启动项目调试时,VC调试引擎将加载我们的RemoteCo

linux设备驱动第四篇:驱动调试方法

linux设备驱动第四篇:驱动调试方法linux设备驱动第四篇:驱动调试方法linux设备驱动第四篇:驱动调试方法linux设备驱动第四篇:驱动调试方法linux设备驱动第四篇:驱动调试方法linux设备驱动第四篇:驱动调试方法linux设备驱动第四篇:驱动调试方法linux设备驱动第四篇:驱动调试方法linux设备驱动第四篇:驱动调试方法 http://v.17173.com/playlist_18716517.htmlhttp://v.17173.com/playlist_18716521.