很多站长朋友们都不太清楚php获取post地址,今天小编就来给大家整理php获取post地址,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php获取post参数的几种方式 2、 php获取不到post方式提交的数据 3、 怎么查看php发出的post请求 4、 在PHP 中能不能用$_POST 方法来获取URL的参数 5、 如何从一个php文件向另一个地址post数据 php获取post参数的几种方式具体代码如下:
<?php
$ch = curl_init();
$timeout = 5;
curl_setopt ($ch, CURLOPT_URL, '');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);
echo $file_contents;
?>
PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。
它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,
执行效率比完全生成HTML标记的CGI要高许多;
PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。
php获取不到post方式提交的数据确认是否获取方式出问题,获取post 是用$_POST['']或者用$_REQUET[''];
确认post地址是否正确?是传成功;
代码是否存在错误
怎么查看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 方法来获取URL的参数URL参数是GET方式传递的,不是POST,用POST当然取不到了
$_GET['id']
如何从一个php文件向另一个地址post数据php调接口都是通过curl来完成的。
下面是我项目中的一个方法:
$url 是要post的地址
$params 是参数,格式array('参数1'=>'参数1值','参数2'=>'参数2值')
$header 请求头,如果模拟浏览器访问需要
$timeout 超时时间
//公共获取指定网页内容
function curl($url,$params = array(),$header = array(),$timeout = 180){
if(empty($url)) return $url;
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL,$url);//请求url地址
curl_setopt($curl, CURLOPT_HTTPHEADER , $header ); //构造IP
if(!empty($params) count($params) > 0){
curl_setopt($curl, CURLOPT_POST, true);
//Request Payload格式数据
if(isset($params['is_json']) $params['is_json'] === true){
unset($params['is_json']);
$params = json_encode($params);
}else{
$params = http_build_query($params);
}
curl_setopt($curl, CURLOPT_POSTFIELDS, $params);
}
//curl_setopt($curl, CURLOPT_HEADER, true);//是否返回响应头信息
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);//是否将结果返回
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);//是否重定向
//curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36');
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 只信任CA颁布的证书
//curl_setopt($curl, CURLOPT_CAINFO, $cacert); // CA根证书(用来验证的网站证书是否是CA颁布)
//curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2); // 检查证书中是否设置域名,并且是否与提供的主机名匹配
// 从证书中检查SSL加密算法是否存在
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
//curl_setopt($curl, CURLOPT_HTTPHEADER, array("Expect: "));
curl_setopt($curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 );
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, $timeout);//用来告诉PHP脚本在成功连接服务器前等待多久(连接成功之后就会开始缓冲输出),这个参数是为了应对目标服务器的过载,下线,或者崩溃等可能状况;
curl_setopt($curl, CURLOPT_TIMEOUT, $timeout);//用来告诉成功PHP脚本,从服务器接收缓冲完成前需要等待多长时间。如果目标是个巨大的文件,生成内容速度过慢或者链路速度过慢,这个参数就会很有用。
// 自动设置Referer
curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
//curl_setopt($curl, CURLOPT_COOKIEJAR, "D:\phpStudy\WWW\cj\cooBE66.tmp");// //写入cookie信息
//setcookie('cookie_jar', $cookie_jar); //保存cookie路径
$data = curl_exec($curl); //执行
curl_close($curl);
return $data;
}
关于php获取post地址的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php获取post地址 php获取信息的详细内容...