日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux curl h 命令,Linux curl命令http cookie详解

發布時間:2024/1/1 linux 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux curl h 命令,Linux curl命令http cookie详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Http Cookie在Http協議中是非常實用的功能、可以保留網站的一些會話信息,方便用戶下次再次來到本網站時使用;如在cookie中記錄用戶的性別和姓氏、下次用戶再次到來,即使未登錄,也可以根據獲取到的cookie顯示“歡迎X先生/女士再次光臨本站”類似的歡迎標語;也可以在cookie中記錄用戶的用戶名,下次用戶登陸時就不在需要輸入用戶名,提高便捷度。

一、Linux curl命令Cookie的接收:

1、cookie接收原理:  在介紹接收cookie之前,先來看看cookie是從http 服務器怎么發送過來的。我們先在站點根目錄下寫一個寫cookie的腳本“test.php”,內容一下:<?php

// 性別: 2(女);有效期1年后;只對aiezu.com有效

setcookie("sex", 2, time()+3600*24*365, '', 'aiezu.com');

// 姓氏: 劉;有效期1年后;只對aiezu.com有效

setcookie("surname", '劉', time()+3600*24*365, '', 'aiezu.com');  然后運行“curl -I http://aiezu.com/test.php”命令,看到的http響應頭如下:

可以看出,http協議是通過http頭將cookie信息發送給瀏覽器的,其中漢字是經過URL Encode的。

2、linux curl命令接收cookie(-c):  curl命令可以使用"-c"或者"--cookie-jar"選項將http服務器發送過來的cookie保存到指定文件或者輸出;更多的linux curl命令參數介紹請參考:Linux curl命令詳解頁面介紹;這里我們將cookie保存到"cookie.txt"文件。[root@aiezu.com ~]# curl --cookie-jar cookie.txt http://aiezu.com/test.php

[root@aiezu.com ~]# cat cookie.txt

# Netscape HTTP Cookie File

# http://curl.haxx.se/docs/http-cookies.html

# This file was generated by libcurl! Edit at your own risk.

.aiezu.comTRUE/FALSE1512612268sex2

.aiezu.comTRUE/FALSE1512612268surname%E5%88%98

二、Linux curl命令發送Cookie:

1、cookie發送原理和從cookie文件中發送:  在介紹發送cookie之前,這次來看看cookie是怎么發送到http 服務器的。先將站點根目錄下的"test.php"改成如下,內容就簡單的一行,用于輸出http服務器接收到的cookie數組內容:<?php print_r($_COOKIE);  然后使用linux curl命令的"-b"參數,發送我們在第一步保存到文件的cookie,再加一個“-v”參數來顯示詳細信息:[root@aiezu.com ~]# curl -b @cookie.txt http://aiezu.com/test.php -v

* About to connect() to aiezu.com port 80 (#0)

* Trying 120.26.62.49...

* Connected to aiezu.com (120.26.62.49) port 80 (#0)

> GET /test.php HTTP/1.1

> User-Agent: curl/7.29.0

> Host: aiezu.com

> Accept: */*

> Cookie: surname=%E5%88%98; sex=2

>

< HTTP/1.1 200 OK

< Date: Wed, 07 Dec 2016 02:33:28 GMT

< Server: Apache

< Cache-Control: max-age=315360000

< Expires: Sat, 05 Dec 2026 02:33:28 GMT

< Vary: Accept-Encoding

< Content-Length: 46

< Content-Type: text/html; charset=utf-8

<

Array

(

[surname] => 劉

[sex] => 2

)

* Connection #0 to host aiezu.com left intact  在上面信息第9行http請求頭中看到了我們發送cookie的key/value,可見cookie是通過http請求頭發送到http服務器的。那為什么只發送key/value,沒有發送有效時間和有效域名呢?因為時間、域名判斷cookie是否發送的判斷條件,只有當某一條cookie屬于此域名、并且cookie還在有效時間內,此條cookie才會發送;判斷完后,時間和域名就沒發送的必要了。

2、linux curl命令使用"-b"、"--cookie"參數直接發送cookiekey/value對:  linux curl命令可以使用"-c"或者“--cookie”參數直接發送cookie鍵值對,兩個參數的意義相同:[root@aiezu.com ~]# curl -b "uid=999;sex=2" http://aiezu.com/test.php

Array

(

[uid] => 999

[sex] => 2

)

3、linux curl命令使用"-H"參數發送cookie:  既然cookie是通過http請求頭發送的,當然可以使用"-H"參數來為http請求頭添加cookie鍵值來發送cookie:[root@aiezu.com ~]# curl -H "Cookie: uid=999;sex=2" --cookie a=9 http://aiezu.com/test.php

Array

(

[uid] => 999

[sex] => 2

)

三、附錄:

總結

以上是生活随笔為你收集整理的linux curl h 命令,Linux curl命令http cookie详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。