curl的相关知识

这几天碰到一个问题,当我把网络服务布置到服务器上,而且成功启动的时候,却无法从其他外部IP的浏览器访问这个服务。原来此服务器不具有外部访问的IP。但是如何测试这个服务的运行效果呢,我用到了curl语句。

什么是curl语句呢?它是linux下在命令行使用的一个工具,是利用URL语法工作的开源文件传输工具。

curl的用法很广泛,如果要深入学习,必须深刻了解http的协议和url的语法。现举几个例子:

1. 将文件下载到本地并命名为text.html
curl -o text.html http://...../text.html

2. 当文件在下载完成之前结束该进程
curl -O http://.../gettext.html
可以通过添加-C选项继续对该文件进行下载,已经下载过的文件不会被重新下载
curl -C - -O http://.../text.html

3. 授权给username访问URL的权利
curl -u username URL

4. 列出folder下的所有文件夹和文件
curl -u ftpuser:ftppassword -O ftp://.../folder/
或者 下载folder下的text.txt文件
curl -u ftpuser:ftppassword -O ftp://.../folder/text.txt

5. 将myfile.txt文件上传到服务器
curl -u ftpuser:ftppassword -T myfile.txt ftp://...
或者同时上传多个文件
curl -u ftpuser:ftppassword -T "{file1,file2}" ftp://...
或者从标准输入获取内容保存到服务器指定的文件中
curl -u ftpuser:ftppassword -T - ftp://.../text.txt

6. 指定代理主机和端口
curl -x proxysever.com:1989 URL

在我碰到的问题中,如果网络服务被运行在一个没有外部IP的服务器上,那么我们就可以在此服务器的linux界面上输入相似的问询来检查服务的运行结果。

curl http://ip:port/?query=...

如果url中使用了特殊字符如&,则需要在url外部加上“”,不然只有&前部的url被传入。

curl "http://ip:port/?query=...&l=..."

如果要退出此网络服务返回的结果,只需使用ctrl+c即可。

猜你喜欢

转载自xieboke.iteye.com/blog/2210923