好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

post提交php post提交json数据

很多站长朋友们都不太清楚post提交php,今天小编就来给大家整理post提交php,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 PHP里模拟Post提交是什么意思? 2、 求助PHP如何POST提交数据 3、 php 提交post数据的问题 4、 PHPpost提交 PHP里模拟Post提交是什么意思?

//这是我写的封装类,也就是模拟POST提交

//$durl也就是URL地址,比如

//$timeout超时时间

//$data 为POST数组

//模拟POST提交的用途,采集数据,模拟用户登录(为什么现在登录需要验证码,不是为了测你智商..

更不是考你的眼力,而防止你模拟登录..用暴力破解法强行破解密码)

function curl_file_post_contents($durl, $timeout = 5, $data) {

    $ch = curl_init();

    curl_setopt($ch, CURLOPT_URL, $durl);

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

    curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);

    curl_setopt($ch, CURLOPT_USERAGENT, _USERAGENT_);

    curl_setopt($ch, CURLOPT_REFERER, _REFERER_);

    curl_setopt($ch, CURLOPT_POST, 1); //设置为POST传输

    curl_setopt($ch, CURLOPT_POSTFIELDS, $data); //添加post数据

    $r = curl_exec($ch);

    var_dump($ch);

    if ($r === false) {  //判断错误

        echo curl_error($ch);

    }

    $info = curl_getinfo($ch);  //能够在cURL执行后获取这一请求的有关信息

    curl_close($ch);

    return $r;

}

求助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数据的问题

在php中要模拟post请求数据提交我们会使用到curl函数,下面我来给大家举几个curl模拟post请求提交数据例子有需要的朋友可参考参考。

注意:curl函数在php中默认是不被支持的,如果需要使用curl函数我们需在改一改你的php.ini文件的设置,找到php_curl.dll去掉前面的";"就行了

例1

<?php

$uri = "";

// 参数数组

$data = array (

'name' => 'tanteng'

// 'password' => 'password'

);

$ch = curl_init ();

// print_r($ch);

curl_setopt ( $ch, CURLOPT_URL, $uri );

curl_setopt ( $ch, CURLOPT_POST, 1 );

curl_setopt ( $ch, CURLOPT_HEADER, 0 );

curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );

curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data );

$return = curl_exec ( $ch );

curl_close ( $ch );

print_r($return);

接受php页面远程服务器:

<?php

if(isset($_POST['name'])){

if(!empty($_POST['name'])){

echo '您好,',$_POST['name'].'!';

}

}

?>

例2

用CURL模拟POST请求抓取邮编与地址

完整代码: 代码如下

#!/usr/local/php/bin/php

<?php

$runtime = new runtime ();

$runtime->start ();

$cookie_jar = tempnam('/tmp','cookie');

$filename = $argv[1];

$start_num= $argv[2];

$end_num = $argv[3];

for($i=$start_num; $i<$end_num; $i++){

$zip = sprintf('6s',$i);

$fields_post = array(

'postcode' => $zip,

'queryKind' => 2,

'reqCode' => 'gotoSearch',

'search_button.x'=>37,

'search_button.y'=>12

);

$fields_string = http_build_query ( $fields_post, '' );

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "URL?reqCode=gotoSearchqueryKind=2postcode=".$zip);

curl_setopt($ch, CURLOPT_HEADER, true);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_POST, true);

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120 );

curl_setopt($ch, CURLOPT_REFERER, $refer );

curl_setopt($ch, CURLOPT_HTTPHEADER, $headers_login );

curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_jar );

curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_jar );

curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);

curl_setopt($ch, CURLOPT_POST, 1); // 发送一个常规的Post请求

curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string );

$data = curl_exec($ch);

preg_match_all('/id="table1">[s]*?<tr>[s]*?<td class="maintext">[sS]*?</td>[s]*?</tr>/', $data, $matches);

if (!$handle = fopen($filename, 'a+')) {

echo "不能打开文件 $filename";

echo "n";

exit;

}

if (fwrite($handle, $matches[0][1]) === FALSE) {

echo "不能写入到文件 $filename";

echo "n";

exit;

}

echo "成功地将 $somecontent 写入到文件$filename";

echo "n";

fclose($handle);

curl_close($ch);

}

class runtime

{

var $StartTime = 0;

var $StopTime = 0;

function get_microtime()

{

list($usec,$sec)=explode(' ',microtime());return((float)$usec+(float)$sec);

}

function start()

{

$this->StartTime=$this->get_microtime();

}

function stop(){

$this->StopTime=$this->get_microtime();

}

function spent()

{

return ($this->StopTime-$this->StartTime);

}

}

$runtime->stop ();

$con = 'Processed in'.$runtime->spent().'seconds';

echo 'Processed in'. $runtime->spent().'seconds';

模拟POST请求 提交数据或上传文件 .

.

代码如下 复制代码

发送POST请求

function execUpload(){

$file = '/doucment/Readme.txt';

$ch = curl_init();

$post_data = array(

'loginfield' => 'username',

'username' => 'ybb',

'password' => '123456',

'file' => '@d:usrwwwtranslatedocumentReadme.txt'

);

curl_setopt($ch, CURLOPT_HEADER, false);

//启用时会发送一个常规的POST请求,类型为:application/x-www-form-urlencoded,就像表单提交的一样。

curl_setopt($ch, CURLOPT_POST, true);

curl_setopt($ch,CURLOPT_BINARYTRANSFER,true);

curl_setopt($ch, CURLOPT_POSTFIELDS,$post_data);

curl_setopt($ch, CURLOPT_URL, '');

$info= curl_exec($ch);

curl_close($ch);

print_r($info);

}

2.

function handleUpload(){

print_r($_POST);

echo '===file upload info:';

print_r($_FILES);

}

■cURL 函数

■curl_close — 关闭一个cURL会话

■curl_copy_handle — 复制一个cURL句柄和它的所有选项

■curl_errno — 返回最后一次的错误号

■curl_error — 返回一个保护当前会话最近一次错误的字符串

■curl_exec — 执行一个cURL会话

■curl_getinfo — 获取一个cURL连接资源句柄的信息

■curl_init — 初始化一个cURL会话

■curl_multi_add_handle — 向curl批处理会话中添加单独的curl句柄

■curl_multi_close — 关闭一组cURL句柄

■curl_multi_exec — 运行当前 cURL 句柄的子连接

■curl_multi_getcontent — 如果设置了CURLOPT_RETURNTRANSFER,则返回获取的输出的文本流

■curl_multi_info_read — 获取当前解析的cURL的相关传输信息

■curl_multi_init — 返回一个新cURL批处理句柄

■curl_multi_remove_handle — 移除curl批处理句柄资源中的某个句柄资源

■curl_multi_select — 等待所有cURL批处理中的活动连接

■curl_setopt_array — 为cURL传输会话批量设置选项

■curl_setopt — 设置一个cURL传输选项

■curl_version — 获取cURL版本信息

PHPpost提交

<?php

if($_POST['button']){

echo $sql="INSERT INTO `zjwdb_98730`.`ids` (`user_id`, `user_ps`) VALUES ('$_POST[userid]', '$_POST[userps]')";

}

echo $sql="INSERT INTO ids (user_id,user_ps) VALUES ('$_post[userid]','$_post[userps]')";

?>

<form id="form1" name="form1" method="post" action="">

<p>

<label for="user_id"></label>

用户名:<input name="userid" type="text" id="user_id" value="123" />

</p>

<p>

<label for="user_ps"></label>

密 码: <input name="userps" type="text" id="user_ps" value="321" />

</p>

<p>

<input type="submit" name="button" id="button" value="提交" />

</p>

</form>

这是我修改的全部代码,你看一下吧

关于post提交php的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于post提交php post提交json数据的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did196598
更新时间:2023-04-26   阅读:19次

上一篇: 合并去重php 合并去重复的数据库

下一篇:phpsmarty配置 phpstudy 配置

相关资讯

最新资料更新

  • 1.php文章发布系统 php发布网站
  • 2.php表格循环 php循环函数
  • 3.phpfpm出错 php报错信息
  • 4.php如何接收对象 php怎么接收json数据
  • 5.php相除保留到分 php除法保留小数
  • 6.接口的继承php 接口的继承和实现
  • 7.怎么写php需求 php市场需求
  • 8.phppngjpeg的简单介绍
  • 9.php课堂系统 php网课系统
  • 10.php文字合到图片 php 图片合成
  • 11.php设备判断在线 php判断用户在线状态
  • 12.php内存管理垃圾回收 php的垃圾回收机制是怎样的
  • 13.php生成vcard php生成验证码
  • 14.proxy.php proxyphp?url
  • 15.极路由安装php环境 极路由安装v2ray
  • 16.php订单管理功能 php订单提醒功能
  • 17.php交叉报表 ureport 交叉报表
  • 18.mac安装php扩展 mac系统安装php环境
  • 19.php数据层设计 php数据库操作
  • 20.php操作redis存值 php redis数据类型

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]