• get请求
    /*
* php访问url路径,get请求
*/
function curl_file_get_contents($durl){
// header传送格式
$headers = array(
"token:1111111111111",
"over_time:22222222222",
);
// 初始化
$curl = curl_init();
// 设置url路径
curl_setopt($curl, CURLOPT_URL, $durl);
// 将 curl_exec()获取的信息以文件流的形式返回,而不是直接输出。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true) ;
// 在启用 CURLOPT_RETURNTRANSFER 时候将获取数据返回
curl_setopt($curl, CURLOPT_BINARYTRANSFER, true) ;
// 添加头信息
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
// CURLINFO_HEADER_OUT选项可以拿到请求头信息
curl_setopt($curl, CURLINFO_HEADER_OUT, true);
// 不验证SSL
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
// 执行
$data = curl_exec($curl);
// 打印请求头信息
// echo curl_getinfo($curl, CURLINFO_HEADER_OUT);
// 关闭连接
curl_close($curl);
// 返回数据
return $data;
}
  • post请求
    /*
* php访问url路径,post请求
*
* durl 路径url
* post_data array() post参数数据
*/
public function curl_file_post_contents($durl, $post_data){
// header传送格式
$headers = array(
"token:1111111111111",
"over_time:22222222222",
);
//初始化
$curl = curl_init();
//设置抓取的url
curl_setopt($curl, CURLOPT_URL, $durl);
//设置头文件的信息作为数据流输出
curl_setopt($curl, CURLOPT_HEADER, false);
//设置获取的信息以文件流的形式返回,而不是直接输出。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
//设置post方式提交
curl_setopt($curl, CURLOPT_POST, true);
// 设置post请求参数
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
// 添加头信息
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
// CURLINFO_HEADER_OUT选项可以拿到请求头信息
curl_setopt($curl, CURLINFO_HEADER_OUT, true);
// 不验证SSL
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
//执行命令
$data = curl_exec($curl);
// 打印请求头信息
// echo curl_getinfo($curl, CURLINFO_HEADER_OUT);
//关闭URL请求
curl_close($curl);
//显示获得的数据
return $data;
}
 
注:调用后可以通过json_decode来解析返回结果:如:
$data= $this->curl_file_post_contents($dataurl, $post_data);
$dataarr = json_decode($data, true);
 

补充:

使用post请求传递多维数组时报"Array to string conversion"错误

解决办法:

使用 http_build_query() 函数处理一下参数。

改为:

curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($post_data));
 
 
 
 

php访问url(get和post请求)的更多相关文章

  1. HTTP基础:URL格式、 HTTP请求、响应、消息

    HTTP URL 格式: http://host[:port][abs_path] 其中http表示要通过HTTP协议来定位网络资源. host表示合法的Internet主机域名或IP地址(以点分十进 ...

  2. SQL Server 访问URL 调用WebServer

    以下整理的SQL Server中访问URL地址的方法,并已封装成存储过程,可以实现POST/GET请求 SET QUOTED_IDENTIFIER ON SET ANSI_NULLS ON GO /* ...

  3. 基于HttpClient的HttpUtils(后台访问URL)

    最近做在线支付时遇到需要以后台方式访问URL并获取其返回的数据的问题,在网络上g了一把,发现在常用的还是Apache的HttpClient.因为以经常要用到的原故,因此我对其进行了一些简单的封装,在此 ...

  4. Django项目:CRM(客户关系管理系统)--84--74PerfectCRM实现CRM权限和权限组限制访问URL

    #models.py # ————————01PerfectCRM基本配置ADMIN———————— from django.db import models # Create your models ...

  5. webview访问URL

    //    // Do any additional setup after loading the view. //    //创建WKWebView //    WKWebView *web = ...

  6. 通过Nginx,Tomcat访问日志(access log)记录请求耗时

    一.Nginx通过$upstream_response_time $request_time统计请求和后台服务响应时间 nginx.conf使用配置方式: log_format main '$remo ...

  7. img标签src=""和background-image:url();引发两次请求页面bug

      img标签src=""和background-image:url();引发两次请求页面bug 具体原因是,在img 对象的src 属性是空字符串("")的时 ...

  8. php取得当前访问url文件名的几种方法

    php下获取当前访问的文件名的几种方法.推荐函数:一是PHP获取当前页面的网址: dedecms用的也是这个哦. <?php //获得当前的脚本网址 function GetCurUrl() { ...

  9. 利用javascript Location访问Url,重定向,刷新页面

    网上转来了, 方便以后查询参考 本文介绍怎么使用javascript Location对象读和修改Url.怎么重载或刷新页面.javascript提供了许多方法访问,修改当前用户在浏览器中访问的url ...

随机推荐

  1. show_sql和format_sql

    <property name="show_sql">true</property> <property name="hibernate.fo ...

  2. selendroid之inspector

    http://selendroid.io/inspector.html 寻找元素.断点模式.

  3. 多线程(一)~基础介绍,简单demo实现

          前言:     现在CPU都是多核的,可以同时处理多个进程,比如我笔记本的CPU是i3-370,它就是双核四线程的.那么这个核和线程都是什么呢?     核是针对硬件而言的,即核心,代表的 ...

  4. C语言 Include指令(引用头文件)

    #include "one.h" #include "two.h" int main(int argc, const char * argv[]) { one( ...

  5. POJ-3267 The Cow Lexicon---删除字符匹配单词

    题目链接: https://cn.vjudge.net/problem/POJ-3267 题目大意: 题意就是给出一个主串,和一本字典,问最少在主串删除多少字母,可以使其匹配到字典的单词序列. PS: ...

  6. 第1章:初始C#及其开发环境

    第1章:初始C#及其开发环境 Table of Contents 能做什么? 熟悉VS开发环境 Hello World 能做什么? 能生成ASP.NET Web 应用程序.XML Web Servic ...

  7. idea连接sqlite

    首先下载驱动 官网链接:http://mvnrepository.com/artifact/org.xerial/sqlite-jdbc 打开idea 第一步:右边 数据源 (如果没有显示单击这里,有 ...

  8. Linq 集合比较

    List<RemindTbl> l_lstRemind = (from x in RemindTbl where (from y in RemindTblOld where x.Atten ...

  9. 【洛谷P4568】[JLOI2011]飞行路线

    飞行路线 题目链接 今天上午模拟考试考了原题,然而数组开小了,爆了4个点. 据王♂强dalao说这是一道分层图SPFA的裸题 dis[i][j]表示到点i用k个医疗包的最小消耗,dis[u][j]+e ...

  10. 【题解】洛谷P2926 [USACO08DEC]拍头Patting Heads

    洛谷P2926:https://www.luogu.org/problemnew/show/P2926 思路 对于每一个出现的数 从1到Max 凡是这个数的倍数 那么ans就加上他的个数 PS:最后要 ...