1.get请求 (使用file_get_contents()函数也可以实现get请求)

//http_build_query() 构造一个url字符串
function http_get($url)
{
//1.初始化curl
$ch = curl_init();
//2.设置参数
curl_setopt($ch, CURLOPT_URL, $url);//指定网址
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//返回信息的数据类型为字符串
//3.执行
$output = curl_exec($ch);
echo $output;
//4.关闭
curl_close($ch); }
//调用get
$data = array(
"data" =>"123456"
);
$url = "http://www.test.com/curl/curl_login.php?".http_build_query($data); http_get($url);

2.post模拟登陆

/*post 已经封装*/
function login($url,$post_data)
{
//初始化curl
$ch = curl_init();
//跳转网址
curl_setopt($ch, CURLOPT_URL, $url);
//设置头文件
curl_setopt($ch, CURLOPT_HEADER, 0);
//返回信息的数据类型为字符串
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//设置post
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
//执行命令
$output = curl_exec($ch);
return $output;
//关闭curl
curl_close($ch);
} /*调用封装好的方法*/
$url = "http://www.test.com/curl/curl_login.php";
$post_data = array(
"name"=>"wangwu",
"password"=>"1234567"
);
$resultarr = login($url,$post_data);
$result = json_decode($resultarr,true);
if($result['status']==1){
echo $result['info'];
}else{
echo $result['info'];
}

处理页面

//声明方法
function info($status=0,$data="",$lan="1"){
$info=array(
"status"=>"$status",
"info"=>"$lan",
"data"=>"$data"
);
echo json_encode($info);
die();
} //接值
$name = $_POST['name'];
$password = $_POST['password']; //PDO链接数据库
$dsn = "mysql:host=127.0.0.1;port=3306;charset=utf8;dbname=news";
$pdo = new PDO($dsn,"root","root"); //sql语句
$sql = "select * from user where name = '$name'";
$namedata = $pdo->query($sql);
$nameresult = $namedata->fetch(PDO::FETCH_ASSOC);
if($nameresult){
if($nameresult['password']==$password){
info("1","","登陆成功");
}else{
info("3","","登陆失败 原因是:密码有误");
}
}else{
info("2","","登录失败 原因是:不存在的账户");
}

2019-09-16 curl简单操作的更多相关文章

  1. [2019.03.16]使用DOM操作函数和CSS选择器来针对已有的HTML进行只凭JS的改动

    刚入职的时候看到公司用的HTML日志生成工具附带的Panel,工具不够用,找个Fail还要找半天,于是自己琢磨着添砖加瓦.以前也是个半吊子前端工程师,现在可倒好,想要改页面却连页面生成的模板在哪里都不 ...

  2. GitHub学习心得之 简单操作

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 前言 本文对Github的基本操作进行了总结, 主要基于以下文章: http://gitre ...

  3. Flume的介绍和简单操作

    Flume是什么 Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集.聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据:同时,Flume提供对数 ...

  4. php使用curl简单抓取远程url的方法

    这篇文章主要介绍了php使用curl简单抓取远程url的方法,涉及php操作curl的技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了php使用curl抓取远程url的方法.分 ...

  5. Linux 中 Vi 编辑器的简单操作

    Linux 中 Vi 编辑器的简单操作 Vi 编辑器一共有3种模式:命名模式(默认),尾行模式,编辑模式.3种模式彼此需要切换. 一.进入 Vi 编辑器的的命令 vi  filename //打开或新 ...

  6. MongoDB数据库简单操作

    之前学过的有mysql数据库,现在我们学习一种非关系型数据库 一.简介 MongoDB是一款强大.灵活.且易于扩展的通用型数据库 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数 ...

  7. MySQL基本简单操作01

    MySQL基本简单操作 学会了安装Docker,那么就将它利用起来.(/滑稽脸) 之前想学习Mysql(Windows下配置真麻烦),学会了Docker就方便了,直接使用Docker创建一个Mysql ...

  8. ubuntu16.04下Hyperledger之搭建Fabric环境简单操作(五步启动e2e_cli)

    如果你已经安装好go等工具.git及checkout相关代及下载相关镜像,您只需下面5步就能up e2e_cli~/go/src/github.com/hyperledger/fabric$ sudo ...

  9. zookeeper简单操作

    接下来主要讲述了通过zookeeper服务器自带的zkCli.sh工具模拟客户端访问和操作zookeeper服务器(包括集群服务器). 当成功启动zookeeper服务后,切换到server1/bin ...

随机推荐

  1. Pytorch中Module,Parameter和Buffer的区别

    下文都将torch.nn简写成nn Module: 就是我们常用的torch.nn.Module类,你定义的所有网络结构都必须继承这个类. Buffer: buffer和parameter相对,就是指 ...

  2. Java中用import导入类和用Class方法加载类有什么区别?

    import仅仅包含导入操作,并不包含将字节码文件加载进内存这一动作,将字节码文件加载进内存是后续的实例化操作完成的. 例如通过import导入了一堆包和类,但是后续什么都没用(没用实例化),那么导入 ...

  3. pdfium sdk调用方式

    FPDF_InitLibrary(NULL); FPDF_CreateNewDocument(); FPDF_DestroyLibrary();

  4. vscode使用插件来添加文件说明和函数说明——42header——psioniq File Header——koroFileHeader

    安装号以后,设置快捷键如下: 同时需要根据自己的需要的修改json文件 // 文件头部注释 "fileheader.customMade": { "Description ...

  5. jsp中for-each应用(遍历数据相乘再相加)

  6. C++ vector初始化方式

    C++的初始化方法很多,各种初始化方法有一些不同. (1): vector<int> ilist1; 默认初始化,vector为空, size为0,表明容器中没有元素,而且 capacit ...

  7. 前端css命名规范----BEM

    一.什么是BEM BEM就是块(block).元素(element).修饰符(modifier),是由Yandex团队提出的一种前端命名方法论.这种巧妙的命名方法可以使css类对其他开发者来说更加透明 ...

  8. 【转】TCP/IP协议——ARP详解

    本文主要讲述了ARP的作用.ARP分组格式.ARP高速缓存.免费ARP和代理ARP. 1.学习ARP前要了解的内容 建立TCP连接与ARP的关系 应用接受用户提交的数据,触发TCP建立连接,TCP的第 ...

  9. android 完全退出实现

    实现方法是在application中定义一个集合存储所有的Activity对象,在Activity创建时添加进集合中,在程序退出时,finish掉所有的Activity即可. 步骤如下: 1.自定义A ...

  10. python 正则表达式匹配IP地址

    一.实验环境 1.Windows7x64_SP1 2.anaconda2.5.0 + python2.7(anaconda集成,不需单独安装) 3.pyinstaller3.0 二.实验目的 从tex ...