一款实用的URL命令行网络通讯工具,当爱情满足
分类:技术

最近一段时间在看朴灵翻译的《深入浅出nodejs》,里面有提到一种脱离浏览器的客户端网络通讯工具,curl命令,自己在电脑上试了一下,感觉非常好用,而且莫名的感觉这是一个非常强大的网络工具,一定会成为web开发者的一把小军刀;因此就上网查了一下相关资料,并整理了一下相关的常用用法:
图片 1

   年关将近,整个人已经没有了工作和写作的激情,估计这个时候很多人跟我差不多,该相亲的相亲,该聚会喝酒的聚会喝酒,总之就是没有了干活的心思(我有很多想法,但就是叫不动我的手脚,所以我只能看着别人在做我想做的事,吃我想吃的东西。)。本人由上个月的每周四五篇,到现在的文章缩短到每周一篇,说个实话,现在的一篇也有不想写的心思了(这一篇还是咬着牙写的,感觉实在是写不动了,写博客太折腾人了,谁写谁知道啊!),不过还是希望写出来可以帮到大家,如有写的不足的地方,还望大家多多指正,知识在于总结和反思,对别人也对自己都是一个提高。  

男生说:“明明知道我不喜欢你那个男闺蜜,你为什么还要单独和他出去吃饭唱歌看电影?他骂我小气自私,你也可以接受?”  女生说:“第一次过生日他请我吃饭,第二次我出于礼貌回请他唱歌有什么不对吗?”

一、简介

  • CURL:本篇文章的标题即为 官网 上醒目定义的直译:command line tool and library for transferring data with URLs;
  • 支持的协议类型:支持几乎全部的网络传输协议类型,你可能会质疑这里的全部,无需解释,直接贴上原文

    Supports...
    DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, Telnet and TFTP. curl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies, HTTP/2, cookies, user+password authentication (Basic, Plain, Digest, CRAM-MD5, NTLM, Negotiate and Kerberos), file transfer resume, proxy tunneling and more.

  • 本文不介绍工具的安装,如需安装教程,请自行移步 官网 或者 参考此篇

    二、常用用法

    不管是网站开发,还是其他的传输协议类型,回归本质都是对数据的读写操作,即创建、查询、加解密、传输、修改、删除;其不同之处在于各种协议的基础架构及协议类型的不同,从实现形式上来看,也就是传输控制字段的不同,以及传输界面、交互的差异。下面以网站开发的角度,类比http协议的8中http请求方式(get、post、put、delete、head、connnect、options、trace),从客户端分别来进行各部分操作的说明:

   这里先来一段废话,缓和一下气氛,免得让大家很尴尬(太直接了还是不太好,总不能见到喜欢的女生就表白吧,还得多多的相处,让人觉得你稳重有深度。),现在进入我们今天的博客内容,那就是.NET的参数用法。因为在.NET的参数用法和约束特别多,对于很多初学者来说,这样繁多的参数用户简直就是跟扯淡一样,即使对于是拥有丰富经验的开发者来说,也未必能够很轻松使用所有的参数用法和选择合适的参数类型。谈到参数,估计很多人就只是想着我们在一般的方法调用中使用的那样,如string,int,object等等类型,更多的也就没有了印象,就是知道,也就是在遇到了再去查看一下,这样其实也没错,毕竟不能话费过多的时间用在哪些不常用的知识上,但是我个人觉得对于知识还是需要提前有一个全面的学习,可能具体的细节不能很好的把握,但是对于全局的概念还是得有一个整体的学习。

      入了深夜,已经算是第二天凌晨了。由于肚子不舒服和对徐先生强烈的想念,我辗转难眠。听着外面飞机划过的声音,手还是滑开了手机屏幕。刷朋友圈看到表白墙发出了这个话题。顿时,心中有些愤懑,仅存的睡意也消失。

1. 查询:GET--查看网页源码

  1. 如查看百度首页源码:
    curl www.baidu.com
    该命令将发送请求,并在命令行显示相应的结果,如下,:
    图片 2
  2. 如果查看还不能满足你的需求,需要进一步将百度首页源码保存在本地进行学习查看:curl -o name www.baidu.com
    将下载目标网页源码到本地,并命名为‘name’:
    图片 3

  3. GET 的其他用法

  • curl -i www.baidu.com ------获取请求结果,将响应头、响应体同时在命令行输出
  • curl -I www.baidu.com ------获取请求结果,仅仅将响应头信息在命令行输出
  • curl -L baidu.com ------如目标网页转移位置,将自动进行重定向
  • curl -v www.baidu.com ------在命令行输出一次http请求的全过程,包括端口连接、请求头、请求体、响应头、响应体
  • curl --trace out.txt www.baidu.com ------将整个请求的端口连接、请求信息、响应过程的全部信息保存至本地,并重命名为‘out.txt’
  • curl www.baidu.com/s?wd=hbzyin ------用百度搜索关键字‘hbzyin’: 将在百度首页查询关键字‘hbzyin’,并将结果在命令行输出
  1. GET 添加额外请求信息
  • curl --header "Content-Type=text.plain" yourwebsite.com ----增加请求头/request header
  • curl --cookie "cookiename=xxx" yourwebsite.com -----增加cookie信息至请求
  • curl -c cookies-file yourwebsite.com -----将请求响应的cookie信息保存至文件cookie-file中
  • curl -b cookies-file yourwebsite.com -----将请求响应的cookie信息保存至文件cookie-file中,并在后续请求中使用
  • curl --referer yourwebsite.com www.baidu.com ------添加入口跳转来源yourwebsite.con ,跳转至目标网站百度
  • curl --user-agent "your user angent" baidu.com ------添加客户端设备信息;服务器会根据该字段,针对不同设备返回不同网页格式。如手机和PC

   下面就简单的介绍一下.NET的一些常用参数用法,如有不足还望指正,也欢迎大家在下面留言讨论,分享自己的见解。

    女生问,有什么不对吗?如果我认识那位女生,我就特别想问她有什么对的吗?你的爱情就仅仅是本分?你不出轨就可以让男朋友受尽委屈?就为了你所谓的“男闺蜜”?

2. 上传数据:POST--向服务器上传信息

  1. 表单数据上传:
    curl -X POST --data "key=value" yourwebsite.com ------向目标网站发送post 请求,请求体为:'key=value'
  2. 表单数据url加密后上传:
    curl -X POST --data-urlencode "key=value" yourwebsite.com --向目标网站发送url加密后的post请求,请求体为:‘key=value’

    此处 -X 为curl请求方式设置关键字, curl默认请求方式为get,添加-X参数后,可支持其他请求方式;请求方式必须大写

一.DotNet参数概述:

    .NET中参数(形式参数)变量是方法或索引器声明的一部分,而实参是调用方法或索引器时使用的表达式。

    在CLR中,默认的情况下所有的方法参数都是传值的。在传递引用类型的对象时,对一个对象的引用会传递给方法。这里的船引用本身是以传值的方式传给方法的。这也意味着方法能够修改对象,而调用者能看到这些修改。对于值类型的实例,传给方法的实例的一个副本。意味着方法将获得它专用的一个值类型实例副本,调用者中的实例不受影响。

    在CLR中允许以传引用而非传值的方式传递参数,在C#中使用out和ref来实现传递引用的方式传值。在C#中使用out和ref来实现传递引用的方式传值,这两个关键字告诉编译器生成元数据来指明该参数是传引用的,编译器将生成代码来传递参数的地址,而不是传递参数本身。为值类型使用out和ref,效果等同于以传值的方式传递引用类型。   

    常用的参数主要有基本类型参数,泛型参数,以及<in T>和<out T>,dynamic等等。例如<in T>和<out T>,在CLR中支持泛型类型的可变性,C#在4.0时获得了生命泛型遍体所必须的语法,并且现在编译器也能够知道接口和委托可能的转换。可变性是以一种类型安全的方式,讲一个对象作为另一个对象来使用。可变性应用于泛型接口和泛型委托的类型参数中。协变形用于向调用者返回某项操作的值;逆变性是指调用者想API传入值;不变性是相对于协变性和逆变性,是指什么也不会发生。对于这方面的知识非常的丰富,有兴趣的可以自行了解,这里就不做详细的介绍了。dynamic类型,C#是一门静态类型的语言,在某些情况下,C#编译器要寻找特定的名称而不是接口。dynamic可以在编译时做任何事,到执行时再由框架进行处理。有关动态类型的介绍也不做更深入的介绍。

    在.NET中参数的使用方法主要为可选参数、命名参数、可变数量参数等等。本文下面也是主要介绍这三种参数的使用方法。

    现在的生活兴起得不止是各种聊天软件和年轻人所喜爱的freestyle,还有一些与传统文化背驰的新兴名词。例如:男闺蜜?男基友?对于我而言,这些词都在刷新我的三观。男闺蜜的本意是男性好朋友,是可以一起吃饭,可以交心互相开解的好朋友。可这种代名词又常常被一些人曲解。越来越多的女人打着“男闺蜜”的幌子,与“男闺蜜”搂搂抱抱,亲亲我我。还要义正言辞地告诉别人,包括对方的男女朋友,说:“我们在一开始认识的时候就是好朋友!虽然我们会搂搂抱抱,但是都是和兄弟一样。”每次听到这种“光明正大论”,我就觉得极其厌恶。

本文由奥门金沙网址发布于技术,转载请注明出处:一款实用的URL命令行网络通讯工具,当爱情满足

上一篇:请尊重每一个人的努力成果,jq跑马灯效果 下一篇:没有了
猜你喜欢
热门排行
精彩图文