最近遇到一个问题,就是一个大数据的项目需要直接从samba数据集群读取数据生成一张mysql的数据表,数据量真不是一般的大。一开始我暴露一个接口,直接把整个库扔进去,但不知道为什么总是自己中断,不断地bug…查看日志只发现了peer的一个exception,后来使用控制台输出才发现原来session过期,因为我是直接用postman访问接口后就关闭了,导致服务器发送数据时候发现没响应直接给中断掉了。
想了很久,直接在服务器上访问接口不就OK了,那么问题来了,怎么设置cookies和入参呢?wget显然不太符合要求,如有大牛有相关经历请指教。curl似乎是个不错的选择。
在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具。
语法:# curl [option] [url]
> -A/--user-agent <string> 设置用户代理发送给服务器
-b/--cookie <name=string/file> cookie字符串或文件读取位置
-c/--cookie-jar <file> 操作结束后把cookie写入到这个文件中
-C/--continue-at <offset> 断点续转
-D/--dump-header <file> 把header信息写入到该文件中
-e/--referer 来源网址
-f/--fail 连接失败时不显示http错误
-o/--output 把输出写到该文件中
-O/--remote-name 把输出写到该文件中,保留远程文件的文件名
-r/--range <range> 检索来自HTTP/1.1或FTP服务器字节范围
-s/--silent 静音模式。不输出任何东西
-T/--upload-file <file> 上传文件
-u/--user <user[:password]> 设置服务器的用户和密码
-w/--write-out [format] 什么输出完成后
-x/--proxy <host[:port]> 在给定的端口上使用HTTP代理
-#/--progress-bar 进度条显示当前的传送状态
其实很多看到这个之后往