導航:首頁 > 編程語言 > 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相關的資料

熱點內容
怎麼樣把華為app都刪掉 瀏覽:883
量子加密視頻完整版 瀏覽:853
消防命令大會 瀏覽:736
程序員幸福感50字 瀏覽:986
支付寶介面php開發文檔 瀏覽:471
安卓手機如何安裝mysql 瀏覽:612
文稿怎麼加密分享 瀏覽:958
喵影工廠手機app怎麼保存圖 瀏覽:628
蘋果維修信息可不可以加密收藏 瀏覽:339
單簧管pdf 瀏覽:331
word轉pdf注冊碼 瀏覽:461
普通程序員怎麼進全棧工程師 瀏覽:568
途安14t壓縮比 瀏覽:357
kmp演算法next值 瀏覽:997
格力潤享空調壓縮機 瀏覽:749
文件夾怎麼刪除被另一個程序打開 瀏覽:721
pdf改字體顏色 瀏覽:841
單片機原理及應用實驗 瀏覽:416
應用加密關了怎麼不顯示消息內容 瀏覽:706
華為本地鈴聲音樂文件夾是哪個 瀏覽:98