php模擬post請求傳送檔案

2021-07-04 07:40:53 字數 2190 閱讀 3501

由於專案需要,需要本地伺服器接收資料後,再將資料**到另外一台伺服器上,故要用到模擬post請求傳送資料,當然資料中也包含檔案流。

curl是php比較常用的方式之一,一般**如下:

$params1 = "test";

$params2 = "@".$absolute_path;//如果是檔案 則引數為"@"+絕對路徑

$post_data = array(

'params1' => $params1,

'params2' => $params2,

);function postdata($url, $data)

$header = array(

'content-type: multipart/form-data',

);curl_setopt( $ch, curlopt_httpheader, $header);

設定header,但是在centos下依舊無效。居然無法改變content-type,簡直坑爹。

後來在技術總監的幫助下,看了php官方**上的乙個鏈結參照官網做法在win wamp和centos nginx下post請求都成功了。仔細閱讀了**,發現做法竟是完整的書寫了http請求的body部分,而不用curl自己生成的部分,不得不佩服。下面放出**:

}引數傳遞無影響,若是檔案則在絕對路徑前+"@"。唯一的區別就是將檔案資料和普通資料用不同的陣列區分開來,在模擬http的body部分時對其進行不同的處理。最終成功上傳檔案。

PHP 傳送POST請求

curl是乙個利用url語法規定來傳輸檔案和資料的工具,支援很多協議,如 http,ftp。telnet等。使用curl步驟 1.初始化 ch curl init 2.設定引數 curl setopt ch,引數 3.執行curl exec ch 4.關閉curl close ch 輸出錯誤資訊 c...

curl模擬傳送post請求

curl模擬傳送post請求 初始化 curl curl init 設定抓取的url curl setopt curl,curlopt url,設定標頭檔案的資訊作為資料流輸出 curl setopt curl,curlopt header,1 設定獲取的資訊以檔案流的形式返回,而不是直接輸出。cu...

Fiddler模擬傳送post請求

fiddler在進行介面測試時,會模擬post請求,傳送不同的請求引數,返回不同的結果,今天我們就來分享一下,怎麼用fiddler工具模擬post請求 開啟fiddler工具,在右側點選 composer 的選項 進入到了composer 的選項之後,在parsed中進行根據http傳送的請求進行選...