php接口post提交方法 。
2024-08-29 12:01:45
方法一,用 file_get_contents
function send_post($url, $post_data) { //$postdata = http_build_query($post_data); //把数组转换成key=val&
$options = array(
'http' => array(
'method' => 'POST',
'header' => 'Content-type:application/x-www-form-urlencoded',
'content' => $post_data,
'timeout' => 2 * 60 // 超时时间(单位:s)
)
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context); return $result;
}
方法二、
function send_post2($host,$port,$urlPage,$postData){
// echo str_pad(" ", 256); $errno = '';
$errstr = ''; $length = strlen($postData); $fp = fsockopen($host,$port,$errno,$errstr,120) or exit($errstr."--->".$errno);
//构 造post请求的头
$header = "POST $urlPage HTTP/1.1\r\n";
$header .= "Host:".$host."\r\n";
$header .= "Referer:".$urlPage."\r\n";
$header .= "Content-Type:application/x-www-form-urlencoded\r\n";
$header .= "Content-Length:".$length."\r\n";
$header .= "Connection:Close\r\n\r\n";
//添加post的字符串
$header .= $postData."\r\n"; // echo "1";
// my_flush();
//发送post的数据
fputs($fp, $header);
// echo "2";
// my_flush();
$inheader = 1;
$result = ""; //最终结果 while (!feof($fp)){ $line = fgets($fp,1024); // 去除请求包的头只显示页面 的返回数据 (注意fgets fread($fp,1)最少2个字节起。) // echo $line;
// my_flush();
if($inheader && ($line == "\n" || $line == "\r\n"))
$inheader = 0; if($inheader==0){ $result .= $line; }
}
fclose($fp);
// echo "3";
// my_flush();
return $result; } //刷新缓冲区
function my_flush(){
ob_flush();
flush();
}
调用示例、
$host = "127.0.0.1";
$urlPage = "http://localhost/admin/confirmCode.php";
$port = "80";
$postData = "AAobjid=33$&username1=fff";
echo send_post2($host,$port,$urlPage,$postData) ;
// echo send_post($urlPage,$postData);
最新文章
- 注册、卸载DLL
- ubuntu Screen 的比较详细的命令
- hdu 1215 筛法
- Android带返回值的窗口跳转
- Android--消除“Permission is only granted to system apps”错误
- (转)MVC 3 数据验证 Model Validation 详解
- J2EE 全面简介
- 【最小生成树】Codeforces 707B Bakery
- 【JavaScript】轻易改变的背景和字体颜色页面
- Ajax【介绍、入门、解决Ajax中文、跨域、缓存】
- c#DES加密解密代码
- nf共享
- 命令行神器之argparse使用笔记
- sql server中如何修改视图中的数据?
- HttpSession原理及Session冲突
- 实际体验Span<;T>; 的惊人表现
- js $的扩展写法
- Redis高可用详解:持久化技术及方案选择
- 【HDOJ】【1964】Pipes
- 使用 Git 进行版本控制