php發送post
㈠ php怎麼發送get/post請求
index.html頁面
<formaction="data.php"method="post">//這是post請求方法
<inputtype="text"name="data"value="要提交給伺服器的內容。"/>
<inputtype="button"value="提交"/>
</form>
<formaction="data.php"method="get">//這是get請求方法
<inputtype="text"name="data"value="要提交給伺服器的內容。"/>
<inputtype="button"value="提交"/>
</form>
data.php頁面
<?php
//列印全局數組
print_r($_POST);
//作用是列印出你提交的數據。
print_r($_GET);
?>
代碼可以直接拿到環境中測試,祝你早日成功。
㈡ php發送get,post請求的幾種方法
POST方法比較適合用於發送一個保密的(比如信用卡號)或者比較大量的數據到伺服器,但速度慢。而Get方法會將所要傳輸的數據附在網址後面,然後一起送達伺服器,因此傳送的數據量就會受到限制且不安全,但是執行效率卻比 Post方法好。具體來說如下:
1、Get將表單中數據的按照variable=value的形式,添加到action所指向的URL後面,並且兩者使用「?」連接,而各個變數之間使用「&」連接;Post是將表單中的數據放在form的數據體中,按照變數和值相對應的方式,傳遞到action所指向URL。
2、Get是不安全的,因為在傳輸過程,數據被放在請求的URL中,而如今現有的很多伺服器、代理伺服器或者用戶代理都會將請求URL記錄到日誌文件中,然後放在某個地方,這樣就可能會有一些隱私的信息被第三方看到。另外,用戶也可以在瀏覽器上直接看到提交的數據,一些系統內部消息將會一同顯示在用戶面前。Post的所有操作對用戶來說都是不可見的。
3、Get傳輸的數據量小,這主要是因為受URL長度限制;而Post可以傳輸大量的數據,所以在上傳文件只能使用Post(當然還有一個原因,將在後面的提到)。
4、Get限制Form表單的數據集的值必須為ASCII字元;而Post支持整個ISO10646字元集。
5、Get是Form的默認方法。
㈢ PHP中怎樣發送post請求並獲取網頁
$post='POST數據';
//初始化
$curl=curl_init('URL');
$header=array();
$header[]='User-Agent:Mozilla/5.0(WindowsNT6.1)AppleWebKit/537.36(KHTML,likeGecko)Chrome/42.0.2311.90Safari/537.36';
curl_setopt($curl,CURLOPT_HTTPHEADER,$header);
//不輸出header頭信息
curl_setopt($curl,CURLOPT_HEADER,0);
//保存到字元串而不是輸出
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
//post數據
curl_setopt($curl,CURLOPT_POST,1);
//請求數據
curl_setopt($curl,CURLOPT_POSTFIELDS,$post);
//是否抓取跳轉後的頁面
curl_setopt($curl,CURLOPT_FOLLOWLOCATION,1);
$response=curl_exec($curl);
curl_close($curl);
echo$response;
㈣ 用PHP怎麼發送HTTP POST 請求。怎麼獲得返回結果。
傳遞? 用 form標簽啊 <form action="" method="post"></form>
獲取結果用超全局變數 $_post[]
㈤ php Curl的get和post方法
get方法
function http_get($url)
{
$oCurl = curl_init();
if (stripos($url, "https://") !== FALSE) {
curl_setopt($oCurl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($oCurl, CURLOPT_SSL_VERIFYHOST, FALSE);
//curl_setopt($oCurl, CURLOPT_SSLVERSION, 1);
//CURL_SSLVERSION_TLSv1
}
curl_setopt($oCurl, CURLOPT_URL, $url);
curl_setopt($oCurl, CURLOPT_RETURNTRANSFER, 1);
$sContent = curl_exec($oCurl);
$aStatus = curl_getinfo($oCurl);
curl_close($oCurl);
if (intval($aStatus["http_code"]) == 200) {
return $sContent;
} else {
return false;
}
}
post方法
// curlpost請求
function http_post($url, $data = NULL, $json = false)
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
if (!empty($data)) {
if ($json && is_array($data)) {
$data = json_encode($data);
}
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
if ($json) { //發送JSON數據
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt(
$curl,
CURLOPT_HTTPHEADER,
array(
'Content-Type: application/json; charset=utf-8',
'Content-Length:' . strlen($data)
)
);
}
}
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$res = curl_exec($curl);
$errorno = curl_errno($curl);
if ($errorno) {
return array('errorno' => false, 'errmsg' => $errorno);
}
curl_close($curl);
return json_decode($res, true);
}
㈥ 關於PHP中POST傳遞參數問題
將數據轉換成 json 格式的字元串, 並通過 CURL 的 POST 的形式傳遞參數給服務端, 但是在服務端無法用 $_POST 獲取到數據。後台用 $_POST 獲取到的信息為空, 但是可以通過 $post = file_get_contents("php://input") 獲取到請求的相關信息。
Coentent-Type 的值為 application/x-www-data-urlencode 和 multipart/form-data 時, php才會將http請求數據包中的數據填進 $_POST 。
如果 POST 的原始數據是一維數組或&拼接的標准格式的鍵值對字元串,那麼可以用 $_POST 來獲取。
如果要通過 file_get_contents 獲取,這種情況下可以發送 json 字元串,用 json_encode 編碼轉換一下,或者使用 http_build_query 。
1、 區別 PHP 的 $_POST、$HTTP_RAW_POST_DATA 和 php://input
2、 accept 和 content-Type區別
3、 Http Header里的Content-Type
㈦ php怎麼將接收到的post數據發送到另一個php文件中
可以用 Curl、socket、file_get_contents 等方式來發送POST數據