讲师中心 微信公众号

工具推荐

视频效率加速
立刻MV
立刻MV

低成本歌曲 MV、视频生成

Laper
Laper

剧本策划到成片协作

剧云
剧云

中文短剧剧本制作平台

AniShort
AniShort

AI短剧协同制作平台

电脑IP地址查询接口的调用示例

陌萱君_6489

陌萱君_6489

发布时间:2026-11-11 09:32:01

|

919人浏览过

|

来源于php中文网

原创

最简单可靠的方式是调用 http://httpbin.org/ip,它返回固定格式 JSON {"origin": "x.x.x.x"},无重定向、无 Cookie、无 UA 检查;实操需加超时、异常处理及字段安全提取。

电脑ip地址查询接口的调用示例

用 http://httpbin.org/ip 获取公网 IP 最简单可靠

公网 IP 查询本质是让服务端告诉你“它看到的客户端地址是什么”,所以最稳妥的方式是调用一个已知行为明确、不带登录/限流/埋点的公开接口。http://httpbin.org/ip 就是这类接口的典型代表——它只返回 JSON,字段固定为 {"origin": "x.x.x.x"},无重定向、无 Cookie、无 UA 检查。

常见错误是误用国内所谓“免费 IP 接口”,比如返回 HTML 页面、带广告跳转、或突然加 Referer 校验;还有人试图解析 ifconfig 或 ipconfig 输出来获取本机 IP,但这只能拿到局域网地址(如 192.168.x.x),不是公网出口 IP。

实操建议:

  • 直接发 GET 请求,响应体解析 JSON 即可提取 origin 字段值
  • 注意:该接口不支持 HTTPS 重定向(https://httpbin.org/ip 可用,但 HTTP 版本在某些内网环境更稳定)
  • 别依赖响应头里的 X-Real-IP 或 X-Forwarded-For,httpbin 不设这些头

Python 中用 requests 调用要处理超时和异常

看似一行代码就能搞定:requests.get("http://httpbin.org/ip").json()["origin"],但生产环境必须加防护。网络抖动、DNS 失败、连接被防火墙拦截都会导致程序卡死或抛出未捕获异常。

实操建议:

  • 显式设置 timeout=(3, 5):3 秒连通,5 秒读取,避免 hang 住
  • 捕获 requests.exceptions.RequestException,而非只抓 ConnectionError
  • 对空响应、非 200 状态码、JSON 解析失败做 fallback,比如返回 None 或打日志后重试一次

示例片段:

import requests
try:
    resp = requests.get("http://httpbin.org/ip", timeout=(3, 5))
    resp.raise_for_status()
    ip = resp.json().get("origin", "").split(",")[0].strip()  # 防多 IP(逗号分隔)
except Exception as e:
    ip = None

浏览器前端用 fetch 会遇到跨域限制

直接在网页 JS 里写 fetch("http://httpbin.org/ip") 会失败,因为浏览器默认禁止跨域请求,而 httpbin.org 没有配 Access-Control-Allow-Origin: *(它只对 POST /anything 等少数路径开 CORS)。

这不是你代码写错了,是浏览器策略使然。想在前端安全获取公网 IP,只有两个可行路径:

  • 走自己后端中转:前端请求自己的 API(如 /api/public-ip),由后端调 httpbin 并透传结果
  • 换支持 CORS 的接口:例如 https://api.ipify.org?format=json(返回纯文本)或 https://icanhazip.com(返回纯 IP 字符串),它们允许前端直连

注意:api.ipify.org 的 JSON 格式接口实际返回的是 {"ip":"x.x.x.x"},但它的响应头含 CORS,可直接 fetch;而 icanhazip.com 返回纯文本,需用 .text() 而非 .json() 解析。

curl 命令调试时别漏掉 -s 和 -f

用 curl http://httpbin.org/ip 看结果很直观,但脚本里直接调可能出问题:默认会输出进度条、重定向信息,还可能静默返回 4xx/5xx 状态码而不报错。

实操建议:

  • 加 -s(silent)屏蔽进度和错误信息,只留响应体
  • 加 -f(fail)让非 2xx 响应直接返回非 0 状态码,方便 shell 判断成败
  • 加 -m 5 设置总超时(比 --max-time 更常用)
  • 用 jq -r ".origin" 2>/dev/null 提取字段,失败时不会报错干扰判断

完整命令示例:

curl -sfm 5 http://httpbin.org/ip | jq -r ".origin" 2>/dev/null

真正麻烦的不是调不通,而是调通了却拿到错误的 IP —— 比如代理没关、公司出口做了 SNAT、或者用了 CDN 回源地址。查 IP 的目的如果是风控或日志归因,得确认这个 IP 是真实用户出口,而不是中间节点的地址。

热门AI工具

更多
豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

花生AI
花生AI Hot

一款AI视频创作工具,主要用于B站推出的AI视频创作工具,适合需要提升相关任务效率的用户。

函子Zion

一款支持AI搭建、可视化编辑和多端发布的全栈无代码开发平台。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

相关专题

更多
硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

3228

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

5409

2025.10.17

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

3889

2025.12.29

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

506

2026.01.19

Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

60

2026.11.06

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

40

2026.11.06

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

40

2026.11.06

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

60

2026.11.05

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

40

2026.11.05

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Echo框架IP地址文档
Echo框架IP地址文档

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn