【问题标题】:Is it possible to ignore DNS in a PHP cURL request是否可以在 PHP cURL 请求中忽略 DNS
【发布时间】:2015-07-01 11:33:50
【问题描述】:

我正在尝试使用 cURL 从服务器 1 访问服务器 2 上的 API。 从服务器 2 返回数据从开始到结束大约需要 15 秒。 API 接受 GET 信息,在地址栏中输入 URL 和参数会立即返回数据。所以我很高兴 API 代码是高性能的,问题在于 cURL 请求/网络沿线某处。

使用 curl_getinfo() 方法我看到以下内容:

[url] => http://[targetURL]
[content_type] => application/json
[http_code] => 200
[header_size] => 423
[request_size] => 135
[filetime] => -1
[ssl_verify_result] => 0
[redirect_count] => 0
[total_time] => 15.137161
[namelookup_time] => 15.039278
[connect_time] => 15.057024
[pretransfer_time] => 15.057177
[size_upload] => 0
[size_download] => 849
[speed_download] => 56
[speed_upload] => 0
[download_content_length] => -1
[upload_content_length] => 0
[starttransfer_time] => 15.131828
[redirect_time] => 0
[certinfo] => Array
    (
    )
[primary_ip] => xxxx
[primary_port] => 80
[local_ip] => yyyy
[local_port] => 24995
[redirect_url] => 

困扰我的是namelookup_time。 这是尝试使用 DNS 解析我指定的域吗? 是否可以指定IP地址? 如果是这样,我的主机会为我的包分配一个 IP。有没有人有为子域分配端口号或专用 IP 的经验? 我的主机是1&1,包是Unlimited Plus。

非常感谢您的任何智慧之言。 标记

【问题讨论】:

    标签: php curl dns


    【解决方案1】:

    如果您对同一个名称进行重复查询,您可以使用 IP 地址或将条目添加到运行脚本的机器的主机文件中。除非您专门在脚本中调用 DNS 查找,否则查找时间应该几乎为零。

    【讨论】:

    • 非常感谢瑞克。我不是该领域的专家,但想知道我可以配置我的主机 (1&1) 以指定用于定位子域的端口号是否可行。因此,如果我的主机包的 IP 地址是 10.20.30.40,我能否以某种方式让 10.20.30.40:99 指向 subdomain.mydomain.com ?上帝知道我的 ISP 是否支持这一点,但理论是否合理?
    • DNS 不知道端口,除非您设置了 SRV 记录:zytrax.com/books/dns/ch8/srv.html
    猜你喜欢
    • 2013-11-18
    • 2019-04-20
    • 1970-01-01
    • 1970-01-01
    • 2023-01-30
    • 2012-02-15
    • 2019-11-30
    • 1970-01-01
    • 2013-02-14
    相关资源
    最近更新 更多