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引入进来!!)
先写到着吧!!!还有不懂的可以自己网络下或者追问。。我看到了会继续回答的!!