PHP如何使用cURL实现Get和Post请求

先来看一下在PHP中建立cURL请求的基本步骤:

  (1)初始化

    curl_init()

  (2)设置变量

    curl_setopt() 。最为重要。有一长串cURL参数可供设置,它们能指定URL请求的各个细节。要一次性全部看完并理解可能比较困难,所以今天我们只试一下那些更常用也更有用的选项。

  (3)执行并获取结果

    curl_exec()

  (4)释放cURL句柄

    curl_close()

下面就看一下具体的实现:

1.Post方式实现(模拟Post请求,调用接口)

<?php
$url = "http://192.168.147.131/index.php/addUser";//你要请求的地址
$post_data = array(
  "uid" => "1111",
  "username" => "lunar",
  "nickname" => "吾独望月",
);
$ch = curl_init();//初始化cURL

curl_setopt($ch,CURLOPT_URL,$url);//抓取指定网页
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);//要求结果为字符串并输出到屏幕上
curl_setopt($ch,CURLOPT_POST,1);//Post请求方式
curl_setopt($ch,CURLOPT_POSTFIELDS,$post_data);//Post变量

$output = curl_exec($ch);//执行并获得HTML内容
curl_close($ch);//释放cURL句柄

print_r($output);

2.Get方式实现

<?php
$url = "http://www.cnblogs.com/blogforly/";//你要请求的地址

$ch = curl_init();//初始化cURL

curl_setopt($ch,CURLOPT_URL,$url);//抓取指定网页
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);//要求结果为字符串并输出到屏幕上
curl_setopt($ch, CURLOPT_HEADER, 0);//设置header

$output = curl_exec($ch);//执行并获得HTML内容
curl_close($ch);//释放cURL句柄

print_r($output);

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

时间: 2020-07-10

php使用curl模拟浏览器表单上传文件或者图片的方法

前言 在浏览器使用html中的input框我们可以实现文件的上传,表单元素选用 <input type="file"> 控件,form 表单需要设置 enctype="multipart/form-data" 属性.比如: <body> <form action="UploadFile.php" method="post" enctype="multipart/form-data&quo

PHP基于curl模拟post提交json数据示例

本文实例讲述了PHP基于curl模拟post提交json数据.分享给大家供大家参考,具体如下: 这里php模拟post提交json数据操作的关键是在头部设置Content-Type <?php header("Content-type:application/json;charset=utf-8"); $url="http://192.168.10.234:8080/uc/login/loginid"; $param=array( //注册字段 "n

PHP使用CURL实现下载文件功能示例

本文实例讲述了PHP使用CURL实现下载文件功能.分享给大家供大家参考,具体如下: 如果使用CURL下载从微信手机端上传的图片?参考下面代码 /** * CURL下载文件 成功返回文件名,失败返回false * @param $url * @param string $savePath * @return bool|string * @author Zou Yiliang */ public function downFile($url, $savePath = './uploads') { /

PHP CURL使用详解

PHP CURL是一个非常强大的开源库,支持很多协议,包括HTTP.FTP.TELNET等,我们使用它来发送HTTP请求.它给我们带来的好处是可以通过灵活的选项设置不同的HTTP协议参数,并且支持HTTPS.CURL可以根据URL前缀是"HTTP" 还是"HTTPS"自动选择是否加密发送内容. 使用CURL发送请求的基本流程 使用CURL的PHP扩展完成一个HTTP请求的发送一般有以下几个步骤: 1.初始化连接句柄: 2.设置CURL选项: 3.执行并获取结果: 4

解决PHP curl或file_get_contents下载图片损坏或无法打开的问题

通过curl或者file_get_contents获取抓取远程图片并且保存到本地,发现损坏了很多图片,比如访问 https://fuss10.elemecdn.com/c/6c/69a7740b4ab864ac0639eb583d68fjpeg.jpeg 是可以访问到图片的,但是curl或者file_get_contents时图片下载下来了却损坏了, 就类似这样: 原因是图片被gizp了 解决办法一: $url = 'https://fuss10.elemecdn.com/c/6c/69a774

详解php中curl返回false的解决办法

首先来看一个封装的curl函数 function request_post($url = '', $param = '') { if (empty($url) || empty($param)) { return false; } $postUrl = $url; $curlPost = $param; $curl = curl_init();//初始化curl curl_setopt($curl, CURLOPT_URL,$postUrl);//抓取指定网页 curl_setopt($curl

解决PHP使用CURL发送GET请求时传递参数的问题

最近在使用curl发送get请求的时候发现传递参数一直没有生效,也没有返回值,以为是自己哪里写错了,网上找东西时也没有人专门来说get请求传递参数的内容,所以,今天在这里记录一下,希望可以帮到一些人 get请求是最简单的请求,不过要注意自己的请求是http请求还是https的请求,因为https请求时要关闭SSL验证,不然验证通不过,没有办法请求到数据: GET请求的参数 get传递参数和正常请求url传递参数的方式一样 function get_info($card){ $url ="http

Linux下安装PHP curl扩展的方法详解

本文实例讲述了Linux下安装PHP curl扩展的方法.分享给大家供大家参考,具体如下: 今天开发时遇到这样的一个问题,就是如何在Linux下安装PHP的curl扩展,我的LNMP环境都是原先进行编译安装了的,不是使用YUM方式安装的. 我的环境: Linux:CentOs 6.4 PHP:5.6.30 解决方法: 1.进入PHP源码目录,就是之前将PHP下载到服务器并解压的地址 cd /usr/local/src/php-5.6.30 2.进行PHP源码目录下的ext/curl cd ext

LInux下安装MySQL5.6 X64版本步骤详解

环境: 1.CentOS6.5 X64 2.mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz 3.下载地址:http://dev.mysql.com/downloads/mysql/ 安装步骤 1.再安装包的存放目录下执行命令解压文件 tar -zxvf mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz -C /opt/ 2.删除安装包,重命名解压后的文件 rm -rf mysql-5.6.34-linux-glibc2.5-x

linux下安装Nginx1.16.0的教程详解

因为最近在倒腾linux,想安装新版本的nginx,找了一圈教程没有找到对应的教程,在稍微倒腾了一会之后终于成功的安装了最新版. 服务器环境为centos,接下来是详细步骤: 安装必要依赖插件 yum install -y gcc gcc-c++ pcre \ pcre-devel zlib zlib-devel openssl openssl-devel wget 创建文件夹并切换过去 mkdir /customer && cd /customer 下载安装包 (同样如果想安装其他的版本

LINUX下Oracle数据导入导出的方法详解

本文讲述了LINUX下Oracle数据导入导出的方法.分享给大家供大家参考,具体如下: 一. 导出工具 exp 1. 它是操作系统下一个可执行的文件 存放目录/ORACLE_HOME/bin exp导出工具将数据库中数据备份压缩成一个二进制系统文件.可以在不同OS间迁移   它有三种模式: a.  用户模式: 导出用户所有对象以及对象中的数据: b.  表模式: 导出用户所有表或者指定的表: c.  整个数据库: 导出数据库中所有对象. 2. 导出工具exp交互式命令行方式的使用的例子: $ex

Linux系统下安装rz/sz命令及使用说明(详解)

对于经常使用Linux系统的人员来说,少不了将本地的文件上传到服务器或者从服务器上下载文件到本地,rz / sz命令很方便的帮我们实现了这个功能,但是很多Linux系统初始并没有这两个命令. 今天,我们就简单的讲解一下如何安装和使用rz.sz命令. 1.软件安装 root 账号登陆后,依次执行以下命令: cd /tmp wget http://www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz tar zxvf lrzsz-0.12.20.tar.gz &

Linux上安装Mysql及简单的使用详解

1. 安装mysql sudo apt-get update sudo apt-get install mysql-server sudo apt-get install python-mysqldb(如果python中要使用,请安装) 2.登录root用户: mysql -u root -p 3.查看所有数据库: show databases; 4.选择一个数据库操作: use database_name; 5.查看当前数据库下所有的表: show tables; 6.创建一个数据库: cre

Linux下的crontab定时执行任务命令详解

在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron].cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间. cron的配置文件称为"crontab",是"cron table"的简写. 一.cron服务 cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业.   service crond start    //启动服务   service crond stop     //

ubuntu16.04 linux 编译安装apache2.4.33的教程详解

下载软件包: wget http://mirror.bit.edu.cn/apache//httpd/httpd-2.4.33.tar.gz wget http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.6.3.tar.gz wget http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-util-1.6.1.tar.gz 首先需要安装apr和apr-util tar xf apr-1.6.

CentOS6.5下安装Mysql5.7.18的教程详解

CentOS6.5下安装Mysql5.7.18,首先先下载mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz,传到CentOS6.5系统下的/usr/local目录下,执行如下命令 yum search libaio # search for info yum install libaio # install library groupadd mysql useradd mysql -g mysql tar -zxvf /usr/local/mysql-5.7.1

linux yum安装指定版本mysql的教程详解

1.下载mysql rpm包 cd /usr/local/src wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm 2.安装下载的rpm包 yum localinstall mysql80-community-release-el7-3.noarch.rpm 或 sudo rpm -Uvh mysql80-community-release-el6-n.noarch.rpm 3.查看yum存储库中的