我可以从特定IP(如果机器有两个IP)在PHP中打开套接字吗?

2024-03-15

我正在使用 PHPMailer,它使用fsockopen访问 SMTP 服务器。

但该机器有两个具有不同反向 DNS 记录的 IP。所以在电子邮件标题中我得到以下内容:

Received: from one-server.tld (HELO another-server.tld) ...

我需要隐藏one-server.tld有利于another-server.tld。但我需要两个 IP 及其当前的 RDNS 设置。


我认为不可能使用fsockopen。但它可能在curl, fopen and stream功能。你需要的是流套接字客户端() http://php.net/stream_socket_client功能。

这里有一些实现它的方法。

  1. 使用可在 fopen 函数族和流函数族中使用的上下文参数。请参阅示例。

    $opts = array(
        'socket' => array(
            'bindto' => '192.168.0.100:0',
        ),
    );
    // create the context...
    $context = stream_context_create($opts);
    $contents = fopen('http://www.example.com', 'r', false, $context);
    

    Also 流套接字客户端 http://php.net/stream_socket_client

    $fp = stream_socket_client("tcp://www.example.com:80", $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $opts);
    if (!$fp) {
        echo "$errstr ($errno)<br />\n";
    } else {
        fwrite($fp, "GET / HTTP/1.0\r\nHost: www.example.com\r\nAccept: */*\r\n\r\n");
        while (!feof($fp)) {
            echo fgets($fp, 1024);
        }
        fclose($fp);
    }
    
  2. Using 套接字绑定 http://php.net/socket_bind。 PHP.NET 有一个简单的例子here http://php.net/socket_bind.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以从特定IP(如果机器有两个IP)在PHP中打开套接字吗? 的相关文章

  • 我应该在 PHP 代码中使用断言吗?

    一位同事添加了assert http php net assert在我们的库中 在我本来会使用 if 语句并引发异常的地方执行几次命令 在此之前我什至从未听说过断言 以下是他如何使用它的示例 assert isset this gt rec
  • jquery ajax加载后丢失CSS

    大家知道如何解决 load Ajax 请求后的 css 问题吗 例如 如果我想从网页加载 DIV 在我的 Ajax 请求之后 container load path to div div id 我丢失了与该 div 关联的所有 css 和脚
  • 将字符串分解为标记,保持引用的子字符串完整

    我不知道我在哪里看到它 但是谁能告诉我如何使用 php 和 regex 来完成这个任务 this is a string that has quoted text inside 我希望能够像这样爆炸它 0 this 1 is 2 a 3 s
  • 如何查找连接到 AF_INET 套接字的客户端的 UID?

    有什么方法或类似的东西ucred for AF UNIX如果是AF INET插座 TCP在我的例子中 找出连接到我的套接字的客户端的UID 还有 proc net tcp但它显示了UID of the creator插座的而不是连接的cli
  • 为什么我的浮点数大于 1 时在 MYSQL 中存储为 .9999?

    我将进程时间作为 float 4 4 存储在 MySQL 数据库中 start time microtime TRUE things happen in my script end time microtime TRUE process t
  • 如何在PHP中获取div中的所有链接

    我想从另一个网站打开一个页面 并提取一个中的所有链接 href div of class layout 2 2 在此页面中 我如何使用 PHP 来做到这一点 我想复制layout 2 2中的每个链接this https url 网页 这是我
  • node-mongodb-native的插入性能

    我正在使用 MongoDB 测试 Node js 的性能 我知道其中每一个都很好 彼此独立 但我正在尝试一些测试来感受它们 我遇到了这个问题 但无法确定来源 问题 我正在尝试在单个 Node js 程序中插入 1 000 000 条记录 它
  • php动态创建子域的问题

    你好 我通过以下代码在 php 中创建子域 function subd host port ownername passw request sock fsockopen localhost 2082 if sock print Socket
  • 使用 php ping 网站

    我想创建一个 php 脚本 它将 ping 一个域并列出响应时间以及请求的总大小 这将用于监控网站网络 我尝试过curl 这是我到目前为止的代码 function curlTest2 url clearstatcache return if
  • Doctrine 装置如何覆盖 purger 类?

    From doctrine fixture bundle the console doctrine fixtures load n命令定义如下 https github com doctrine DoctrineFixturesBundle
  • 没有得到 popen 的完整回复

    嗨 我正在使用 popen 运行一个进程 handle popen python scriptos py r while feof handle data fgets handle echo gt data 我只从返回 5 行的进程中获取
  • 为什么 PHPUnit 将一些右大括号显示为未被覆盖?

    我正在使用 PHPUnit 3 6 7 PHP CodeCoverage 1 1 1 和 Xdebug 2 1 2 当我让 PHPUnit 将代码覆盖率统计信息写入 clover 样式的 XML 文件时 它偶尔会显示一个右花括号 表示测试未
  • 检查一个类是否是另一个类的子类

    我想在不创建实例的情况下检查一个类是否是另一个类的子类 我有一个类 它接收类名作为参数 作为验证过程的一部分 我想检查它是否属于特定的类系列 以防止安全问题等 有什么好的方法可以做到这一点吗 is subclass of http php
  • PHP MVC 应用程序中哪里可以捕获异常?

    我有一个中小型 PHP 应用程序 用于练习 OOP 和 MVC 技能 我有初始化 引导程序调用的文件Router谁打电话控制器 gt 服务层 gt 存储库 数据库 然后将变量发送回视图层 所有依赖项均由 DiC IOC 处理 我创建抽象类
  • PHP 的 mb_internal_encoding 实际上是做什么的?

    根据 PHP 网站 http www php net manual en function mb internal encoding php它这样做 coding 是用于 HTTP 输入的字符编码名称 字符编码转换 HTTP输出字符编码 转
  • 将二进制数据从 C# 上传到 PHP

    我想将文件从 Windows C 应用程序上传到运行 PHP 的 Web 服务器 我知道 WebClient UploadFile 方法 但我希望能够分块上传文件 以便我可以监控进度并能够暂停 恢复 因此 我正在读取文件的一部分并使用 We
  • Laravel 意外错误“类用户包含 3 个抽象方法...”

    在 Laravel 上编写我的身份验证应用程序时 我遇到了一个以前从未见过的错误 我已经集思广益了近一个小时来解决这个问题的原因 但仍然找不到解决方案 Error User 类包含 3 个抽象方法 因此必须声明为抽象方法或实现其余方法 Il
  • 是否可以使用流上下文在 PHP 下使用 FTPS?

    我了解到使用ftpsPHP for Windows 下的 ftp ssl connect 很困难 您被要求进入构建自己的二进制文件以包括 Open SSL 的漫长旅程 我找到了以下建议phpseclib http phpseclib sou
  • 如何更改 Ubuntu 14.04 上的 php-cli 版本?

    我是 Linux 新手 在篡改时破坏了一些 php 设置 如果我执行一个包含以下内容的 php 脚本 phpinfo 它显示 php 版本为 5 6 但通过命令行 如果我运行php v它返回 7 0 版本 我想让两个版本匹配 我怎样才能修复
  • 简单的颜色变化

    我正在创建一个用户界面 用户可以在其中更改页面的颜色值 我想要的是获取分配给其背景颜色的值并将其变亮一定程度 我只是想获得一条亮点线 而不必每次都制作新图像 示例 用户将背景颜色设置为 ECECEC 现在我希望某个元素边框变成 F4F4F4

随机推荐

  • Kubernetes 将 env 变量传递给“kubectl create”

    我需要将动态环境变量传递给kubectl create 像这样的东西 kubectl create f app yaml Target prod 基于Target的代码部署在不同的服务器上 如果您想避免安装第 3 方插件 则可以使用 sed
  • 如何使用 Language-Ext 将 Task> 绑定到 Either<>

    我有可以请求数据库中保存的卡列表的设备 例如移动电话 支付终端等 为了安全起见 设备需要对自己进行授权 并在 JWT 令牌中提供其序列号 如果其中任何一项不匹配 我们将拒绝该请求 感谢最近对相关问题的大量帮助 我现在有两种在类似场景中使用的
  • 从 Facebook 页面提取公共帖子,无需 API/APP 密钥/令牌/秘密

    提前澄清一下 我没有 Facebook 帐户 也无意创建一个帐户 另外 我想要实现的目标在我的国家和美国是完全合法的 我不想使用 Facebook API 来获取 Facebook 页面的最新时间线帖子 而是直接向页面 URL 发送获取请求
  • 当我在 ASP.NET 中组合 Bearer Token 和 Cookie 身份验证时,出现 401

    我需要结合令牌和 cookie 来授权 wepapi 项目中的请求 我添加了 Cookie 和 Jwt 来验证请求 在更改 DefaultPolicy 之前 我可以获得我的声明 信息 但更改后我得到 401 这是我的 Program cs
  • 在 R 中,变量与基本 R 函数同名到底有什么问题?

    使用在基本 R 中具有相同名称的函数的变量名称似乎通常被认为是不好的编程习惯 例如 很容易写成 data lt data frame df lt data frame 现在 函数data函数加载数据集df计算 f 密度函数 同样 也很容易写
  • Jupyter Notebook 将默认文件夹设置为根目录

    我在 Windows 7 上使用 Jupyter Notebook 我想将默认文件夹设置为D 目前 我的 jupyter notebook config py 中有以下行 c NotebookApp notebook dir D 当我打开
  • 如何在Python中读取QLineEdit中的文本?

    我为我的插件创建了一个带有 3 个按钮的启动 GUI 这非常有效 如果我单击其中一个按钮 就会启动特定操作 到目前为止这有效 如果我单击其中一个按钮 则会出现一个带有两个按钮 确定 和 取消 的新 GUI 以及一个行编辑 如果我按下 取消
  • 如何在Geofence android中添加后台服务

    我正在尝试创建一个带有监控后台服务的地理围栏 地理围栏创建成功并在应用程序活动打开时工作 但在关闭应用程序地理围栏时不起作用 我现在应该怎么做 我的代码是 public class MapsActivity extends Fragment
  • 在 Eclipse 中使用 Maven Android 原型

    我正在尝试使用以下原型 https github com akquinet android archetypes wiki Android release archetype https github com akquinet androi
  • 如何在FragmentStatePagerAdapter中动态添加页面

    我知道这个问题被问了很多次 但经过多次研究后我没有得到答案 在我的主要活动中 我有一个视图寻呼机 并为此设置了一个适配器 public void onCreate Bundle savedInstanceState super onCrea
  • R 中按日期范围设置的 data.table 子集

    我在 data table 中有一个大型数据集 我想按日期范围对其进行子集化 我的数据集如下所示 testset lt data table date as Date c 2013 07 02 2013 08 03 2013 09 04 2
  • 如何从一个视图访问另一个视图的数据?

    我有一个UITabBarController有两个选项卡 UINavigationController OptionsViewController UIViewController 我如何获取数据 即UILabel text 设于Optio
  • 帕累托最优前沿

    我试图获得两个适应度函数的帕累托最优前沿 我通过使用虚拟矩阵对非支配解进行排序 该虚拟矩阵在矩阵中为任何非支配解分配 1 当我绘制帕累托前沿时 它不断包含我知道不属于帕累托最优的点 但是 我似乎找不到这个问题的原因 任何帮助将非常感激 fo
  • WebClient 下载字符串与 WebBrowser 查看源代码不同

    我正在创建一个 C 4 0 应用程序来使用 Web 客户端下载网页内容 网络客户端功能 public static string GetDocText string url string html string Empty try usin
  • Chrome:检查元素与查看源代码

    我正在使用 Chrome 10 接收 XML 格式的 Web 服务响应 请求成功完成 然后我想查看结果的内容 我转到 检查元素 并查看所需的 XML 出于好奇 我还查看了源码 我非常确定 Chrome 的工作方式是 Inspect Elem
  • D3 防止双击缩放[重复]

    这个问题在这里已经有答案了 我有一个 D3 网络图 我正在尝试禁用双击缩放功能 我使用它进行缩放 var zoom d3 behavior zoom scaleExtent minZoom maxZoom zoom on zoom func
  • JMS QueueSender 线程安全吗?

    我想在多线程环境中使用 QueueSender Is QueueSender send 线程安全 No a MessageProducer QueueSender不是线程安全的 或者更具体地说 Session http java sun c
  • 计算泊松概率百分比

    当您在 Excel 或 OpenOffice Calc 中使用 POISSON 函数时 它需要两个参数 一个整数 一个 平均 数字 并返回一个浮点数 在 Python 中 我尝试了 RandomArray 和 NumPy 它返回一个随机泊松
  • 如何在iOS应用程序中运行可执行文件?

    我想在我的系统中运行一个可执行文件iOS应用程序 或者执行一些命令行命令 我认为这可以在 NSTask 的帮助下完成 但这似乎在 iOS 中不可用 它仅适用于 mac OS X So 如何从我的应用程序运行可执行文件 或者我如何从我的应用程
  • 我可以从特定IP(如果机器有两个IP)在PHP中打开套接字吗?

    我正在使用 PHPMailer 它使用fsockopen访问 SMTP 服务器 但该机器有两个具有不同反向 DNS 记录的 IP 所以在电子邮件标题中我得到以下内容 Received from one server tld HELO ano