/**
 * http测试
 * 注:PHP版本5.2以上才支持CURL_IPRESOLVE_V4
 * @param $url 网站域名
 * @param $type 网站访问协议
 * @param $ipresolve 解析方式
 */
public function web_http($url,$type,$ipresolve) {
    //设置Header头
    $header[] = "Accept: application/json";
     $header[] = "Accept-Encoding: gzip";
    $httptype = function_exists('curl_init');
    if (!$httptype) {
      $html = file_get_contents($url);
    } else {
      $ch = curl_init();
      curl_setopt($ch, CURLOPT_URL, $url);
      //输出头信息
      curl_setopt($ch, CURLOPT_HEADER, 1);
      //递归访问location跳转的链接,直到返回200OK
      curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
      //不对HTML中的BODY部分进行输出
      curl_setopt($ch, CURLOPT_NOBODY, 1);
      //将结果以文件流的方式返回,不是直接输出
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
      //以IPv4/IPv6的方式访问
      if($ipresolve=='ipv6') {
        curl_setopt($ch,CURLOPT_IPRESOLVE,CURL_IPRESOLVE_V6);
      }else{
        curl_setopt($ch,CURLOPT_IPRESOLVE,CURL_IPRESOLVE_V4);
      }
      //添加HTTP header头采用压缩和GET方式请求
      curl_setopt( $ch, CURLOPT_HTTPHEADER, $header );
      curl_setopt($ch,CURLOPT_ENCODING , "gzip");
      curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
      //清除DNS缓存
      curl_setopt($ch,CURLOPT_DNS_CACHE_TIMEOUT,0);
      //设置连接超时时间
      curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,15);
      //设置访问超时
      curl_setopt($ch,CURLOPT_TIMEOUT,50);
      //设置User-agent
      curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11');
      if($type=="https") {
          //不对认证证书来源的检查
          curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
          //从证书中检查SSL加密算法是否存在 
          curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true);
      }
      //执行Curl操作
      $html = curl_exec($ch);
      //获取一个cURL连接资源句柄的信息(获取最后一次传输的相关信息)
      $info = curl_getinfo($ch);
      curl_close($ch);
    }
    return $info;
  }

PHP用curl请求网址的code码相关推荐

  1. 前端请求后台网址,状态码401 Unauthorized 返回的code500 不知道怎么解决了 救救

    之间用的请求网址是可以登录的,换新的之后就出现了这样的问题,但postman那儿就可以请求到登陆成功,前端配置文件也是换成了新的请求网址.有没有人知道这是什么问题呀

  2. php获取curl头_php中CURL请求头和响应头获取方法

    本文主要和大家分享php中CURL请求头和响应头获取方法,希望能帮助到大家. 1.从CURL中获取响应头$oCurl = curl_init(); // 设置请求头, 有时候需要,有时候不用,看请求网 ...

  3. aria2百度网盘 http返回头无效_接口测试第10期:Fiddler中查看HTTP请求中的状态码...

    关注后回复[软件测试]查看更多上期介绍了常见的HTTP请求方法,get请求.post请求,今天介绍HTTP请求中的状态码,以后也能分辨出哪些状态码是表示客户端错误,哪些是服务器错误.状态码在Fiddl ...

  4. php 微信授权 跨域,微信公众号支付 请求跳转code跨域

    1.开发微信商城公众号支付,前端发起ajax请求到服务器初始化订单.之后由服务器获取openid之后发起支付.在获取openid的第一步出现跨域异常.一下是部分代码: header('Access-C ...

  5. PHP微信支付 curl请求https://api.mch.weixin.qq.com/pay/unifiedorder 返回空的解决方案

    PHP微信支付 curl请求https://api.mch.weixin.qq.com/pay/unifiedorder 返回空的解决方案 这个问题是我在生成微信支付二维码的时候碰到的,起初代码都是正 ...

  6. http code码详解

    HTTP状态码 当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求.当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应 ...

  7. HTTP网页请求响应的状态码/状态代码

    文章目录 1开头 询问客户端是否还有请求消息 2开头 (请求成功)表示成功处理了请求的状态代码 3开头 (请求被重定向)表示要完成请求,需要进一步操作. 通常,这些状态代码用来重定向 4开头 (请求错 ...

  8. 代码优化小技巧-使用enum统一返回code码

    前言 在开发过程中,经常会有需要填写返回码来作为返回值的情况,最经典的场景便是请求接口的返回码,例如返回Result: public class MyResult extends Result {pr ...

  9. 常见的http请求响应的状态码

    常见的http请求响应的状态码 一些常见的状态码为: ==200 – 服务器成功返回网页 404 – 请求的网页不存在 503 – 服务不可用 == 1xx(临时响应) 表示临时响应并需要请求者继续执 ...

最新文章

  1. element ui分页怎么做_elementUI实现分页
  2. linux mysql 日志乱码_Linux下MySQL保存进去数据为乱码的解决办法
  3. antd 文本域超长问题_「自然语言处理(NLP)」阿里团队--文本匹配模型(含源码)...
  4. react key的作用
  5. 应用程序窗口hwnd初始化_Golang OpenGL 跨平台图形程序开发(2)你好,窗口
  6. MyEclipse中Web项目的重命名问题
  7. Barra 结构化风险模型实现(1)——沪深300指数的风格因子暴露度分析
  8. 教育部:浙江大学等35所高校新增人工智能本科专业
  9. python3.6安装步骤-详解win7下python3.6安装配置方法步骤
  10. 新买的服务器安装系统流程,新买的服务器安装操作系统
  11. STM32实现四驱小车(二)通信任务——遥控器SBUS通信
  12. 最有效的Safari的广告拦截插件
  13. DVWA全级别详细通关教程
  14. 机械制造技术基础【4】
  15. 简单差分放大器和套筒式共源共栅放大器Cadence仿真
  16. Unity一般工程升级到HDRP
  17. 在ubuntu 18.04下安装Nvidia显卡驱动的黑屏问题
  18. Android 备份(提取)apk
  19. 已知信码序列为1011_某一个数据通信系统采用CRC校验方式,其中:生成多项式G(X)=...
  20. 2021年度IT吃瓜指南

热门文章

  1. web漏洞扫描器原理_【技术分享】漏洞扫描技巧篇Web 漏洞扫描器
  2. 育碧信条:AI 在手,天下我有
  3. 菁搜FTP搜索引擎总体框架
  4. 数据分析基础——数据规整
  5. 数显之家快讯:【SHIO世硕心语】2021,给实体经济企业家的二十条建议!
  6. Leetcode_128_Longest Consecutive Sequence
  7. 如何防范SQL注入 SQL注入测试
  8. 小程序 canvas 实现电子签名
  9. 电脑怎么进入linux系统,Linux系统怎么进入终端?三种方法帮你搞定!
  10. Unicode编码和Base64编码