CURL模擬請求 get post

2021-09-14 07:55:56 字數 2016 閱讀 9094

【先知】

http協議是客戶端和服務端資料互動而定的規範。

具有如下特點:

1.一般是基於b/s結構訪問。

2.無狀態

服務端沒有記憶功能,不能識別客戶端。

3.無連線

主要是在說http 1.0,它是短連線,客戶端一次請求被服務端處理返回後即斷開。

而http 1.1,它是常連線,即一次連線服務端可處理多個請求,縮短了延時。

http是應用層協議,如下是很早之前繪製的,僅予參考.

curl就是依據url規則,來模擬請求伺服器資源的客戶端工具。

使用前,要在php.ini中,開啟php的curl擴充套件庫。

它本身也支援多個協議,譬如ftp,http,telnet等.(在此,我僅模擬測試http的get/post請求)

【例項】

基本流程,即是

1.初始化

2.設定引數(總要告訴瀏覽器,你要訪問哪個url,帶什麼引數,是什麼型別的請求吧;如果要修改或便於檢視,還得以檔案流的形式返回;且引數一般是curlopt_開頭的,手冊上遍地都是)

3.執行(相當於提交位址列,回車)

4.關閉資源

(一)get請求

結果:

實現原理,即是在返回的檔案流裡,替換查詢即可。

如下:加:

curl_setopt($ch,curlopt_returntransfer,1); //以檔案流的形式返回資料

改:$rt = curl_exec($ch); //得到瀏覽器返回的結果

結果:

(二)post請求

<?php 

header('content-type:text/html;charset=utf-8');

$ch = curl_init();

/*post基本設定如下*/

/*post基本設定如上*/

curl_setopt($ch,curlopt_returntransfer,true); //以檔案流方式返回

curl_setopt($ch,curlopt_header,true); //header資訊也在檔案流中返回,檢視起來方便

echo '';

echo curl_exec($ch); //輸出到瀏覽器(否則,你會發現你的瀏覽器比臉都白,白,白)

curl_close($ch); //關閉資源,他們總是較大佔記憶體的

結果:

curl 模擬請求

感覺挺不錯的 模擬請求方法 直接上 curl setopt ci,curlopt customrequest,method 設定請求方式 curl setopt ci,curlopt header,true 啟用時會將標頭檔案的資訊作為資料流輸出 curl setopt ci,curlopt fol...

python模擬傳送GET POST請求

直接上 示例。具體看注釋 import requests import json def get url get請求 req requests.get url 輸出狀態碼 print req.status code 輸出返回內容 print req.text def post url,cookie ...

mock模擬get,post請求方式

1.模擬get請求 模擬get請求 mock.mock api getgoods get 2.模擬post請求 模擬post請求,外層的mock只負責攔截介面和方法的定義 mock.mock api addgoods post function option 3.模擬根據不同的id值獲取對應的資料,...