php發送post請求
Ⅰ php如何通過Post請求發送Json數據
首先要把數據轉換成json格式,再通過curl方法調用介面並傳參數
代碼如下:
$keyword=urlencode($_POST['keyword']);
$parameters=json_encode(array('keyWord'=>$keyword,'areaCode'=>'*'));
$post_data['appToken']="323ds7674354fds32fdsda60173";//隨便寫的
$post_data['parameters']=$parameters;
$url='http://serde.com/compadddvd/index';//隨便寫的
$ch=curl_init();
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POSTFIELDS,$post_data);//用post方法傳送參數
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
$response=curl_exec($ch);
curl_close($ch);
之後就返回數據即可。
Ⅱ 怎樣用php構建一個post請求
<?php
假設你的$_POST如下
$_POST=Array("user"=>"張三","pass"=>"123");
//你可以自己組裝一下
//如$_POST['你想要的欄位']="你想賦的值";
$_POST['a']="b";
print_r($_POST);試一下
Ⅲ 怎麼用PHP發送POST請求
PHP發送POST請求的三種方式
classRequest{
publicstaticfunctionpost($url,$post_data='',$timeout=5){//curl
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POST,1);
if($post_data!=''){
curl_setopt($ch,CURLOPT_POSTFIELDS,$post_data);
}
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
curl_setopt($ch,CURLOPT_HEADER,false);
$file_contents=curl_exec($ch);
curl_close($ch);
return$file_contents;
}
publicstaticfunctionpost2($url,$data){//file_get_content$postdata=http_build_query(
$data
);$opts=array('http'=>
array(
'method'=>'POST',
'header'=>'Content-type:application/x-www-form-urlencoded',
'content'=>$postdata
)
);$context=stream_context_create($opts);
$result=file_get_contents($url,false,$context);
return$result;
}
publicstaticfunctionpost3($host,$path,$query,$others=''){//fsocket
$post="POST$pathHTTP/1.1 Host:$host ";
$post.="Content-type:application/x-www-form-";
$post.="urlencoded ${others}";
$post.="User-Agent:Mozilla4.0 Content-length:";
$post.=strlen($query)." Connection:close $query";
$h=fsockopen($host,80);
fwrite($h,$post);
for($a=0,$r='';!$a;){
$b=fread($h,8192);
$r.=$b;
$a=(($b=='')?1:0);
}
fclose($h);
return$r;
}
}
http://www.oschina.net/code/snippet_729516_33065
Ⅳ 怎麼查看php發出的post請求
用PHP向伺服器發送HTTP的POST請求,代碼如下:
<?php
/**
* 發送post請求
* @param string $url 請求地址
* @param array $post_data post鍵值對數據
* @return string
*/
function send_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中怎樣發送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語言,用伺服器發送一個post請求怎麼寫比如往百度首頁發送post數據(a=1&b=2)
functionPOST($Url,$Argv){
$flag=0;
$post='';
$errno='';
$errstr='';
foreach($Argvas$key=>$value){
if($flag!=0){
$post.="&";
$flag=1;
}
$post.=$key."=";
$post.=urlencode($value);
$flag=1;
}
$length=strlen($post);
$fp=fsockopen("localhost",80,$errno,$errstr,10)orexit($errstr."--->".$errno);
$header="POST".$Url."HTTP/1.1 ";
$header.="Host:127.0.0.1 ";
$header.="Referer:/flandy/post.php ";
$header.="Content-Type:application/x-www-form-urlencoded ";
$header.="Content-Length:".$length." ";
$header.="Connection:Close ";
$header.=$post." ";
fputs($fp,$header);
$inheader=1;
$Return='';
while(!feof($fp)){
$line=fgets($fp,1024);
if($inheader&&($line==" "||$line==" "))$inheader=0;
if($inheader==0)$Return.=$line;
}
fclose($fp);
returntrim($Return);
}
//調用方式
$Result=POST('xxxxxURLxxx',array('dataName'=>'dataValue'));
Ⅶ 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怎麼發送HTTP POST 請求。怎麼獲得返回結果。
<form id="form1" name="form1" method="post" action="">
<input type="text" name="text" id="text" />
<input type="submit" name="button" id="button" value="提交" />
</form> 接收用$_POST['text'] 這是你在文本框寫的值.
Ⅸ 用php做個post提交
看來樓主的截圖,寫的純粹的對curl的運用,個人寫個簡化版的!!
$curl是介面頁面。。。作用是取數據然後傳遞給本頁面!!這個頁面不是來源頁面,只是一個介面文件而已!!如果你連這個頁面都不想要,那就只能在本頁面自己填寫獲取數據的代碼了!!也就不用使用到post數據了!!
$post_val是post提交所需的數據,如果為空,那就是get獲取數據,也就是說$curl要自帶參數,這個要看你介面頁面的程序所定了!!
例子:
1.php
$b = $_GET['k'];
//這邊獲取的就是2.php拋出來的數據。。。
$get_value = curl_file_get_contents(『2.php』,"ct=28&lm=0&word=".$b."&co=23");
var_mp($get_value);//這邊就是你想要的代碼。。隨便你怎麼處理了!!
//這個是curl的精簡版。。。不用那麼多代碼
function curl_file_get_contents($curl,$post_val="")
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $curl);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
if($post_val)
{
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_val);
}
$r = curl_exec($ch);
curl_close($ch);
return $r;
}
2.php(介面文件,也相當於把方法寫在另一個文件,通過url調用此方法並回傳值給1.php!!多用於2個文件不在同一程序內,引用(include)不了,又懶得自己再寫個方法,從而通過這種方法獲取,比如說淘寶介面)
$get_key = $_POST['word']; //這邊就指明了只用能post方式獲取數據
..................(這邊就是通過獲取的$get_key來獲取數據,並賦值與$value)......
return $value; //這邊把數據拋給1.php(誰調用介面的就拋給誰)
這樣寫的好處是,假如獲取$value的代碼很長,這樣寫可以減少代碼量!!不在同一個伺服器或者框架下面的程序也可以調用。。。。(同一個框架下的代碼可以用include引入進來!!)
先寫到著吧!!!還有不懂的可以自己網路下或者追問。。我看到了會繼續回答的!!