当前位置:首页 > PHP > 正文内容

php curl指定ip,php curl请求忽略本地host文件,php curl请求跳过本地host文件

高老师6年前 (2020-08-17)PHP1600

假如我们使用curl请求一个网站,如果这个网站域名在本地host中也存在,curl默认会请求本地,但是我们可以自己设置解析到哪个ip。

(1).设置朋友的博客网站主机和ip,请求测试正确返回远程网站内容

<?php

$ip = '47.106.110.119';
$host = 'www.php20.cn';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $ip);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');

$headers = array();
$headers[] = 'Host:'.$host;
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$result = curl_exec($ch);
if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
}
curl_close($ch);
file_put_contents('1.txt', $result);
var_dump($result);

//输出<!DOCTYPE html><html><head><meta charset="UTF-8"><title>仙士可博客,技术博客,php,技术分享,php博客,</title>

(2).设置请求ip为本地,输出本地网站的内容

<?php

$ip = '127.0.0.1';
$host = 'www.php20.cn';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $ip);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');

$headers = array();
$headers[] = 'Host:'.$host;
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$result = curl_exec($ch);
if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
}
curl_close($ch);
file_put_contents('1.txt', $result);
var_dump($result);

//输出本地站点

未测试https

也可以试试百度的方法

curl_setopt($curl, CURLOPT_INTERFACE, 'ip');

扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.20230611.cn/post/149.html

分享给朋友:

“php curl指定ip,php curl请求忽略本地host文件,php curl请求跳过本地host文件” 的相关文章

 php文件锁解决高并发

php文件锁解决高并发

前面的文章对于高并发下单商品导致商品库存为负值的问题请先阅读再阅读本篇文章一定对您有帮助,建议亲手测试较好。加上文件锁后的下单处理代码:【一】.阻塞模式:(如果其他进程已经加锁文件,当前进程会一直等其他进程解锁文件后继续执行)<?php //连接数据库 $con=mysqli_connect(...

php 开启错误提示,php 关闭错误提示

php 开启错误提示,php 关闭错误提示

开启错误提示代码:ini_set("display_errors", "On"); error_reporting(E_ALL | E_STRICT);关闭错误提示代码:error_reporting(E_ALL ^&n...

xmlrpc  php,php通过xml-rpc进行通信

xmlrpc php,php通过xml-rpc进行通信

xmlrpc协议是通过http请求xml数据进行通信。webservice中和它相同的是soap。soap调用的确很简单,但是创建wsdl太繁琐,效率低下。xmlrpc很好的解决这个问题。(1).创建xmlrpc服务端(求和函数api)function getSum($method,$ar...

php上传大文件,php大文件上传

php上传大文件,php大文件上传

(1).前端文件:<form action="upload.php" method="post" enctype="multipart/form-data">    &...

php  RabbitMQ消息队列

php RabbitMQ消息队列

(1).config.php 配置文件<?php /**  * RabbitMQ_Config  */ $config = [     'host' => ...

PHP yield  PHP协程,PHP协程用法学习

PHP yield PHP协程,PHP协程用法学习

【一】.迭代器迭代是指反复执行一个过程,每执行一次叫做一次迭代。比如下面的代码就叫做迭代:1.  <?php   2.  $data = ['1', '2', &...