導航:首頁 > 編程語言 > php自動post

php自動post

發布時間:2025-01-06 23:11:36

php如何獲得http post的數據

在PHP段直接用$_POST這個全局數組來獲取,也可以通過$_REQUEST來獲取值

Ⅱ php怎樣用curl發送post請求

使用 PHP 中的 cURL 函數來發送 POST 請求是一種常見的網路數據交互方式。下面分步驟說明如何進行。

首先,初始化 cURL 會話,使用 `curl_init()` 函數。

設置請求方式為 POST,使用 `curl_setopt()` 函數,參數 `CURLOPT_POST`。

要發送 POST 數據,使用 `curl_setopt()` 函數設置 `CURLOPT_POSTFIELDS` 參數,提供要發送的數據。

設置請求頭。例如,添加自定義頭,使用 `curl_setopt()` 函數,參數 `CURLOPT_HTTPHEADER`。

要添加帶有用戶名和密碼的 Authorization 請求頭,首先需要進行 Base64 編碼。示例如下:

設置代理伺服器,使用 `curl_setopt()` 函數,參數 `CURLOPT_PROXY`。

為了將響應內容保存到變數,而非直接輸出,使用 `curl_setopt()` 函數設置 `CURLOPT_RETURNTRANSFER` 參數為 true。

關閉請求,使用 `curl_exec()` 函數執行 cURL 會話,隨後使用 `curl_close()` 關閉會話。

執行簡單 GET 請求與 POST 請求的步驟類似,只需調整 `CURLOPT_POST` 參數。

獲取響應頭信息,使用 `curl_getinfo()` 函數,參數為 `curlINFO_HEADER_OUT`。

若請求導致重定向,`curl_getinfo()` 函數返回的 `curlINFO_REDIRECT_URL` 參數將提供重定向後的地址。

要獲取 Set-Cookie 信息,執行請求後,可以將 `curl_exec()` 的結果存入變數,然後解析響應頭或使用 `curl_getinfo()` 的 `curlINFO_COOKIELIST` 參數。

總結,通過以上步驟,可以靈活地利用 PHP cURL 函數實現 POST 請求,包括設置請求參數、頭信息、代理、獲取響應內容等操作,適用於多種網路交互場景。

Ⅲ php模擬get和post的幾種方法

方法一:
[php]viewplain
$re=file_get_contents($url);
print_r($re);

方法二:
[php]viewplain
$ch=curl_init("http://www.jb51.net/");
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_BINARYTRANSFER,true);
$output=curl_exec($ch);
$fh=fopen("out.html",'w');
fwrite($fh,$output);
fclose($fh);

方法三:
其中把post一塊包含進來了
[php]viewplain
functiondfopen($url,$limit=0,$post='',$cookie='',$bysocket=FALSE,$ip='',$timeout=15,$block=TRUE,$encodetype='URLENCODE'){
$return='';
$matches=parse_url($url);
$host=$matches['host'];
$path=$matches['path']?$matches['path'].($matches['query']?'?'.$matches['query']:''):'/';
$port=!empty($matches['port'])?$matches['port']:80;

if($post){
$out="POST$pathHTTP/1.0 ";
$out.="Accept:*/* ";
$out.="Accept-Language:zh-cn ";
$boundary=$encodetype=='URLENCODE'?'':';'.substr($post,0,trim(strpos($post," ")));
$out.=$encodetype=='URLENCODE'?"Content-Type:application/x-www-form-urlencoded ":"Content-Type:multipart/form-data$boundary ";
$out.="User-Agent:$_SERVER[HTTP_USER_AGENT] ";
$out.="Host:$host ";
$out.='Content-Length:'.strlen($post)." ";
$out.="Connection:Close ";
$out.="Cache-Control:no-cache ";
$out.="Cookie:$cookie ";
$out.=$post;
}else{
$out="GET$pathHTTP/1.0 ";
$out.="Accept:*/* ";
$out.="Accept-Language:zh-cn ";
$out.="User-Agent:$_SERVER[HTTP_USER_AGENT] ";
$out.="Host:$host ";
$out.="Connection:Close ";
$out.="Cookie:$cookie ";
}
$fp=@fsockopen(($ip?$ip:$host),$port,$errno,$errstr,$timeout);
if(!$fp){
return'';
}else{
stream_set_blocking($fp,$block);
stream_set_timeout($fp,$timeout);
@fwrite($fp,$out);
$status=stream_get_meta_data($fp);
if(!$status['timed_out']){
while(!feof($fp)){
if(($header=@fgets($fp))&&($header==" "||$header==" ")){
break;
}
}
$stop=false;
while(!feof($fp)&&!$stop){
$data=fread($fp,($limit==0||$limit>8192?8192:$limit));
$return.=$data;
if($limit){
$limit-=strlen($data);
$stop=$limit<=0;
}
}
}
@fclose($fp);
return$return;
}
}

Ⅳ 如何用php向伺服器發送post請求

用PHP向伺服器發送HTTP的POST請求,代碼如下:

<?php
/**
*發送post請求
*@paramstring$url請求地址
*@paramarray$post_datapost鍵值對數據
*@returnstring
*/
functionsend_post($url,$post_data){
$postdata=http_build_query($post_data);
$options=array(
'http'=>array(
'method'=>'POST',
'header'=>'Content-type:application/x-www-form-urlencoded',
'content'=>$postdata,
'timeout'=>15*60//超時時間(單位:s)
)
);
$context=stream_context_create($options);
$result=file_get_contents($url,false,$context);
return$result;
}

使用的時候直接調用上面定義的send_post方法:

$post_data=array(
'username'=>'username',
'password'=>'password'
);
send_post('網址',$post_data);

Ⅳ php中Get方法跟Post方法的區別

php中Get方法跟Post方法的區別

php——get方法

這個方法用來獲取私有成員屬性值的此正,有一個參數,參數傳入你要獲取的成員屬性的名稱,返回獲取的屬粗衫性值,這個方法不用手工的去調用,因為也可以把這個方法做成私有的方法,是在直接獲取私有屬性的時候對象自動調用的。

因為私有屬性已經被封裝上了,是不能直接獲取值的,但是如果你在類裡面加上了這個方法,在使用「echo$p1->name」這樣的語句直接獲取值的時候就會自動調用__get($name)方法,將屬性name傳給參數$name,通過這個方法的內部執行,返回傳入的.私有屬性的值。

如果成員屬性不封裝成私有的,對象本身就不會去自動調用這個方法。

php——post方法

這個方法用於傳送數據,用法與get方法類似,但有區別。

區別

Get方法在超鏈接後邊緊跟要傳遞的參數對於用戶是可見的如:%D6%A3%D6%DD%B4%F3%D1%A7&fr=index&ie=utf-8

而Post方法傳遞的參數是不可見的。

GET是從伺服器上獲取數據;POST是向伺服器傳送數據。

在客戶端,GET通過URL提交數據,數據在URL中可見;POST把數據放在form的數據體內提交。

GET提交的數據最多隻有1024位元組岩扒腔;POST提交的數據量無限制。

由於使用GET時,參數會顯示在地址欄上,而POST不會,所以,如果這些數據是非敏感數據,那麼使用GET;如果包含敏感數據,為了安全,用POST方法。

;
閱讀全文

與php自動post相關的資料

熱點內容
三洋立風櫃壓縮機 瀏覽:296
微拍app為什麼下載不了了 瀏覽:257
非常好的期貨5分鍾公式源碼 瀏覽:4
linuxcentos7安裝 瀏覽:691
華為網盤文件夾加密 瀏覽:74
安卓手機什麼真人游戲好玩 瀏覽:772
崑山加密軟體需求 瀏覽:270
蘋果照片壓縮包怎麼打開 瀏覽:796
檢測溫濕度和二氧化碳的單片機 瀏覽:964
安卓手機雨滴怎麼隱藏 瀏覽:587
pdf文件轉換器word 瀏覽:987
vscodepython模塊方法 瀏覽:344
如何知道伺服器有什麼漏洞 瀏覽:902
java電商訂單支付源碼 瀏覽:102
android手機滑鼠 瀏覽:465
php支付項目經驗 瀏覽:930
中國人民銀行在哪裡下載app 瀏覽:560
松餅pdf 瀏覽:668
萌新如何獲得命令 瀏覽:139
java設計模式及代碼 瀏覽:7