PostmanまたはcURLの場合があります。cURLのユニークなスキルを体験してください。

この記事はGithub.com/niumoo/JavaNotes含まれており、Javaプログラマーが習得する必要のあるコア知識がさらにあります。スターや提案を歓迎します。
私の公式アカウントをフォローすることを歓迎します、記事は毎週更新されます。

ここに写真の説明を挿入

CURLはオープンソースで無料のプロジェクトであり、主にコマンドラインツールのcURLとlibcurlです。CURLは任意のネットワーク送信プロトコルを処理できますが、特定のデータ処理は必要ありません

cURLでサポートされる通信プロトコルは、DICT、FILE、FTP、FTPS、GOPHER、HTTP、HTTPS、IMAP、IMAPS、LDAP、LDAPS、MQTT、POP3、POP3S、RTMP、RTMPS、RTSP、SCP、SFTP、SMB、SMBSなどの非常に豊富です。 、SMTP、SMTPS、TELNETおよびTFTP。cURLソースコードを表示するには、公式のGithubにアクセスしてください

cURLをインストールするとどうなりますか?

ubuntu / Debian。

sudo apt install curl

CentOS / Fedora。

sudo yum install curl

ウィンドウズ。

Gitをインストールしている場合、Git Bashにはcurlが付属しています。開発者としてgitをお持ちでない場合は、手動でのみダウンロードできます

1.ソースコードをリクエストする

直接カール。

$ curl http://wttr.in/

上でリクエストされたサンプルURLは天気のウェブサイトです。これは非常に興味深く、リクエストされたIP情報に基づいてあなたの場所の気象条件を返します。

カールwttr.in

私がこの記事を書いているとき、私が住んでいる上海では雨が降っていて、窓の外の雨は終わりがありません。

2.ファイルのダウンロード

-oダウンロードREADMEテキストファイルreadme.txtを保存するなど、wgetコマンドと同様の保存ファイルを使用します。ファイル名をカスタマイズする必要がある場合-Oは、URLでカスタムファイル名を使用できます

$ curl -o readme.txt https://mirrors.nju.edu.cn/kali/README
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   159  100   159    0     0   1939      0 --:--:-- --:--:-- --:--:--  1939

ダウンロードしたファイルには、データサイズ、伝送速度、残り時間などのダウンロードステータスが表示されます。-sパラメータを使用して、スケジュールを無効にすることができます

$ curl -o readme.txt https://mirrors.nju.edu.cn/kali/README
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   159  100   159    0     0   1939      0 --:--:-- --:--:-- --:--:--  1939
$ 
$ curl -o readme.txt https://mirrors.nju.edu.cn/kali/README -s

--process-barパラメータを使用して、進行状況バーを表示するスケジュールを作成することもできます。

$ curl -o readme.txt https://mirrors.nju.edu.cn/kali/README --progress-bar
########################################################################################## 100.0%

-C -パラメータを使用した、強力で自然なShoudaoqinlaiHTTPの同義語としてのcURL以下は、再開可能なダウンロードでubuntu20.04イメージをダウンロードする例です。

$ curl -O https://mirrors.nju.edu.cn/ubuntu-releases/20.04/ubuntu-20.04-desktop-amd64.iso --progress-bar
##                                                                                               1.7%
^C
$ curl -C - -O https://mirrors.nju.edu.cn/ubuntu-releases/20.04/ubuntu-20.04-desktop-amd64.iso --progress-bar
###                                                                                              2.4%
^C
$ curl -C - -O https://mirrors.nju.edu.cn/ubuntu-releases/20.04/ubuntu-20.04-desktop-amd64.iso --progress-bar
###                                                                                               2.7%
^C
$ 

何?ダウンロード時にインターネットの速度を上げすぎたくないですか?--limit-rate速度制限してください

curl -C - -O https://mirrors.nju.edu.cn/ubuntu-releases/20.04/ubuntu-20.04-desktop-amd64.iso --limit-rate 100k

何?FTPサーバーからファイルを再度ダウンロードしますか?慌てる必要はありません。

curl -u user:password -O ftp://ftp_server/path/to/file/

3.応答ヘッダー

-iパラメータ表示の応答ヘッダー情報を使用します。使用-Iすると、応答ヘッダー情報のみを表示できます。

$ curl -I http://wttr.in
HTTP/1.1 200 OK
Server: nginx/1.10.3
Date: Sat, 30 May 2020 09:57:03 GMT
Content-Type: text/plain; charset=utf-8
Content-Length: 8678
Connection: keep-alive
Access-Control-Allow-Origin: *

4.リクエストメソッド(GET / POST /…)

-Xイージーモード変更リクエストを使用します。

$ curl -X GET http://wttr.in
$ curl -X POST http://wttr.in
$ curl -X PUT http://wttr.in
...

5.リクエストパラメータ

パラメータを渡すことname未读代码一例です。

パラメータを直接取得し、スプライシングパラメータをURLします。

$ curl -X GET http://wttr.in?name=未读代码

--dataパラメータを設定するために使用する方法を投稿します。

$ curl -X POST --data "name=未读代码" http://wttr.in

カスタムリクエストヘッダーパラメータの可能性があります、--harder追加します。

$ curl --header "Content-Type:application/json" http://wttr.in

6.ファイルのアップロード

これよりもはるかに強力なcURL、フォームが送信され、コンテンツファイルのアップロードも記載されています。使用する必要がある-Fか、-Dパラメータ-Fによってリクエストヘッダーが自動的に追加されますContent-Type: multipart/form-dataが、-DそれはContent-Type : application/x-www-form-urlencodedです。

たとえば、protrait.jpgの画像をアップロードします。

$ curl -F profile=@portrait.jpg https://example.com/upload

名前と年齢のパラメータを含むフォームを送信します。

curl -F name=Darcy -F age=18 https://example.com/upload

パラメータに対応する内容をファイルから読み取ることもできます。

curl -F "content=<达西的身世.txt" https://example.com/upload

アップロード時にコンテンツタイプを指定します。

curl -F "content=<达西的身世.txt;type=text/html" https://example.com/upload

他のパラメータと一緒にファイルをアップロードします。

curl -F 'file=@"localfile";filename="nameinpost"' example.com/upload

7.URLワイルドカード

cURLは、複数のURLに一致するように実現できます{}。組み合わせて使用して、特定の期間で区切られたURLコンマを識別し[]、スコープパラメータを示すことができます。

# 请求 www.baidu.com 和  pan.baidu.com 和 fanyi.baidu.com
$ curl http://{
    
    www,pan,fanyi}.baidu.com
# 虚构网址1-10开头的baidu.com,然后请求
$ curl http://[1-10].baidu.com
# 虚构网址a-z开头的baidu.com,然后请求
$ curl http://[a-z].baidu.com

この方法は、たとえば、特定のWebサイトのURLパターンを見つけた場合に役立つことがあります。

8.クッキーの使用

-c応答としてCookieに格納されいるパラメーターを使用し要求すると要求に応じ-bて特定のCookieを使用できます。

$ curl -c wdbyte_cookies http://www.wdbyte.com
$ curl -b wdbyte_cookes http://www.wdbyte.com

総括する

上記はcURLの一般的な使用法です。最後に、ちょっとしたコツを紹介します。ChromeやFirefoxなどのブラウザは、リクエストをcURLステートメントとして直接コピーできます。保存してから次回テストを依頼するととても便利です。

ChromeコピーcURLリクエスト

参照

  1. https://curl.haxx.se/docs/manpage.html

最後の言葉

記事はGithub.com/niumoo/JavaNotes含まれています。スターとコメントは大歓迎です。第一線の企業へのインタビューサイト、Javaプログラマーが習得する必要のあるコア知識やその他の記事もあり、私のテキストの多くが整理されています。スターへようこそ、それを改善し、私たちが一緒に優秀になることを願っています。

記事が役に立ったら、「いいね」または「共有」をクリックできます。すべてサポートされています。すべて気に入っています。
記事は毎週継続的に更新されます。更新された記事や共有の乾物をリアルタイムでフォローするには、「未読コード」の公開アカウントまたは私のブログをフォローしてください

公開なし

おすすめ

転載: blog.csdn.net/u013735734/article/details/106538076