curl 获取ip

Boost电路双闭环控制MATLAB仿真 通过电流内环控制,我们可以改变目标平均电流基准值的大小来闭环改变占空比,再改变输出电压与电路电流,直到电路电流达到基准电流才达到稳态。但是我们的基准电流依旧是外部提供的,下边的电压外环控制就是电路自己计算基准电流。 阅读详情
#include <iconv.h>
#include <curl/curl.h>
#include <nlohmann/json.hpp>
#define GLOG_NO_ABBREVIATED_SEVERITIES
#include <glog/logging.h>

using namespace std;

int char_code_convert(
  const string& from, const string& to,
  const string& in, string& out)
{
  const iconv_t cd = iconv_open(to.c_str(),
                                from.c_str());
  if (cd == nullptr)
  {
    return -1;
  }
  out.resize(in.size() * 2, 0);
  char* pin = const_cast<char*>(in.data());
  size_t in_len = in.size();
  char* pout = const_cast<char*>(out.data());
  size_t out_len = out.size();
  if (iconv(cd, &pin, &in_len, &pout, &out_len) == -1)
  {
    return -1;
  }
  iconv_close(cd);
  return 0;
}

int writer(char* data, const size_t size, const size_t nmemb, string* writerData)
{
  const unsigned long sizes = size * nmemb;
  if (writerData == nullptr)
    return -1;

  writerData->append(data, sizes);
  return sizes;
}

int GetData(string& ip, string& city)
{
  string buffer;
  try
  {
    curl_global_init(CURL_GLOBAL_ALL);
    const string url_str = "http://pv.sohu.com/cityjson?ie=utf-8";

    CURL* p_curl = curl_easy_init();
    if (nullptr != p_curl)
    {
      curl_easy_setopt(p_curl, CURLOPT_TIMEOUT, 10);
      curl_easy_setopt(p_curl, CURLOPT_URL, url_str.c_str());
      curl_easy_setopt(p_curl, CURLOPT_WRITEFUNCTION, writer);
      curl_easy_setopt(p_curl, CURLOPT_WRITEDATA, &buffer);
      const CURLcode res = curl_easy_perform(p_curl);
      LOG_IF(ERROR, res != CURLE_OK) << "curl_easy_perform() failed " << curl_easy_strerror(res);
      curl_easy_cleanup(p_curl);
    }
    curl_global_cleanup();
  }
  catch (std::exception& ex)
  {
    LOG(ERROR) << "curl exception=" << ex.what();
    return -1;
  }
  if (buffer.empty())
  {
    LOG(ERROR) << "!!! ERROR The sever response NULL";
    return -1;
  }

  try
  {
    const auto it1 = buffer.find('{');
    const auto it2 = buffer.find('}') + 1;
    const auto json_content = buffer.substr(it1, it2 - it1);
    nlohmann::json obj = nlohmann::json::parse(json_content);
    ip = obj["cip"].get<string>();
    city = obj["cname"].get<string>();
  }
  catch (std::exception& e)
  {
    LOG(ERROR) << "PARSE ERROR. exception=" << e.what();
    return -1;
  }

  return 0;
}

int main(int argc, char const* argv[])
{
  string ip, city, chn_city;
  const int ret = GetData(ip, city);
  char_code_convert("UTF-8", "GB2312", city, chn_city);
  LOG_IF(ERROR, ret != 0) << "get data error";
  LOG(INFO) << "ip=" << ip << " city=" << chn_city;
  return 0;
}

 

电脑版微信多开,最详细教程没有之一 首先桌面任意的位置右键新建文本文档输入如下代码: TASKKILL /F/IM WECHAT.EXE start " " "D:\Program Files (x86)\Tencent\WeChat\WeChat.exe" start " " "D:\Program Files (x86)\Tencent\WeChat\WeChat.exe" ... 阅读详情

相关推荐

整车CAN网络错误帧排查方法

本文围绕 CAN 总线错误帧展开,先剖析其产生原因,涵盖物理连接与硬件问题、电磁兼容性问题、总线负载与设计问题及配置问题;再阐述位错误、填充错误等 5 类错误帧类型;接着说明错误帧与总线 BUSOFF 的关系,解析主动 / 被动错误状态及 BUSOFF 的触发与恢复;还结合整车故障案例做实际分析,指出错误帧根源多为线束或控制器问题。最后总结,强调错误帧是 CAN 协议保障高鲁棒性的机制,掌握相关知识助工程师提升 CAN 网络处理能力。

车载网络小D的博客 1248

curl查询本机外网ip

查询外网ip使用curl命令,主要是使用curl访问可以查询ip的网站 主要使用: curl cip.cc 其他命令 curl cip.cc curl ifconfig.me curl icanhazip.com curl curlmyip.com curl ip.appspot.com curl ipinfo.io/ip curl ipecho.net/plain curl www.trackip.net/i #补充 curl ip.sb curl ip.6655.com/ip.aspx curl

Nicolas_shen的博客 3012

科研笔记:怎样写好博士论文?

博士论文外审避坑指南与写作要点 博士论文外审的核心关注点呈现5级优先级:科研成果(硬指标)>创新性>逻辑结构与场景合理性>文献综述与规范性>工作量验证。外审专家会重点核查:1)成果清单是否达标;2)创新点是否真实明确;3)章节逻辑是否自洽、应用场景是否细化;4)文献综述是否构建"研究坐标系";5)实验/理论支撑是否充分。需特别注意三大雷区:科学错误(直接挂稿)、伪创新、场景不合理。写作时应强化选题依据的场景细化,通过"发展阶段+跨领域对比"提升文献综述质量。

Grow into a more wonderful you 1065

Linux curl命令最全详解

是一个非常实用的、用来与服务器之间传输数据的工具;支持的协议包括(DICT,FILE,FTP,FTPS,GOPHER,HTTP,HTTPS,IMAP,IMAPS,LDAP,LDAPS,POP3,POP3S,RTMP,RTSP,SCP,SFTP,SMTP,SMTPS,TELNETandTFTP),curl设计为无用户交互下完成工作;...

tangsiqi130的博客 4194

ubuntu安装hodoop详细步骤

进入到Ubuntu系统中打开桌面,点击鼠标右键打开终端,在终端中输入如下命令这样就可以创建一名为hadoop的新用户。给用户输设置密码输入,输入如下命令,设置密码,按提示输入两次然后为hadoop用户增加管理员全新,这样就可以方便部署完成之后输入重启命令,重启一下Ubuntu系统,然后登录到我们创建的hadoop用户上面reboot。

2301_77603488的博客 9199

QMT与通达信代码实战:从预警到交易的自动化实现

本文详细介绍了如何利用QMT量化交易平台与通达信软件实现从预警到交易的全自动化。通过读取通达信预警生成的板块文件,QMT策略可自动执行买卖指令,有效解决手动交易滞后问题。文章提供了完整的代码框架、核心原理拆解及实盘注意事项,帮助投资者构建高效、纪律性的自动化交易系统。

ansible6ops的博客 649

使用curl命令行工具查询本地公网IP地址

使用curl命令行工具查询本地公网IP地址

大聪明的博客 2万+

基于YOLOv5s的RK3588多线程部署16FPS暴涨到120FPS 轻量化深度学习部署实战教程(包括性能优化与加速)37

本文介绍了如何在RK3588平台上利用线程池优化YOLOv5模型的推理性能。RK3588内置3个NPU核心,支持多核并行处理。作者设计了一个线程池架构:1个线程负责数据读取,10个线程处理NPU运算,1个线程输出结果。该架构包含任务队列、线程管理和工作线程三个核心组件,通过合理设置线程数、任务队列大小等参数确保性能稳定。文章提供了详细的C++实现代码,包括线程池初始化、任务提交、结果获取等功能模块,并讨论了多线程同步和内存管理的关键技术要点。该方案可显著提升深度学习模型在嵌入式设备上的部署效率。

FJN110的博客 9230

curl获取本机公网IP(命令行备忘)

背景: 经常需要查询到本机/本网络所在的 IP 地址。比如把本机的外网IP加到某个服务的白名单中。 方案:除了在百度上输入IP搜索得到本机IP地址外, 也可以使用命令行快捷 curl 访问能够返回 IP 地址的 网址。 以下网址可以使用: 国内/海外都可以访问的地址: curl ipinfo.io curl cip.cc curl ident.me curl v4.ident.me 国内可以访问的地址: curl myip.ipip.net 海外(只能从国外访问): cur..

千里之行 1万+

SAP-ABAP:ABAP 开发基础概念入门:写给刚踏入 SAP 开发世界的新人

本文介绍了 ABAP 开发语言的基础概念,帮助 SAP 开发新人快速入门。主要内容包括: ABAP 的发展历程与核心优势 - 作为 SAP 平台的专属语言,ABAP 在企业级应用开发中具有深度集成、数据处理高效和长期稳定的特点 ABAP 开发环境概览 - 介绍了 SE38、SE80 等关键事务码,以及 ABAP 工作台的核心组件和开发权限管理 基础语法入门 - 重点讲解了 ABAP 特有的数据类型体系(特别是结构体和内表),并通过 Hello World 示例展示程序基本结构 文章通过对比 ABAP 与 J

baidu_35680696的博客 511

吊打BEVFormer!GaussianBeV实战:用3D高斯开启BEV分割新范式

GaussianBeV是一种基于3D高斯建模的BEV分割新方法,在自动驾驶感知任务中实现了SOTA性能。其核心创新在于将场景元素表示为3D高斯分布,通过均值、协方差和权重精确描述物体位置、形状和置信度,相比传统BEV方法具有更强的空间建模能力。文章详细介绍了GaussianBeV的原理、环境配置、训练推理流程及其在自动驾驶和城市3D重建中的应用,并讨论了优化方向和未来发展趋势。该方法在nuScenes等数据集上表现出色,为BEV分割任务提供了新的解决方案。

m0_71589036的博客 106

PHP cURL学习-IP域名查询

大二学了一下PHP cURL,做了几个demo。1、代码如下:index.html&lt;html&gt; &lt;head&gt; &lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"&gt; &lt;meta name="viewport" content="width=device-wid

都随它大小便吧 4339

【问题解决】解决 Python `PermissionError` 权限不足:文件/进程/端口全场景修复

本文总结了Python程序中常见的权限问题及解决方案,包括文件、进程和端口权限错误。文件权限问题通常由文件占用、权限不足或路径错误引起;进程问题多因权限不足或系统限制;端口问题则与端口占用、防火墙或特权端口相关。解决方案提供了详细的代码实现:文件权限管理器类(FilePermissionManager)包含检查权限(check_permission)、修复权限(fix_permission)、安全写入(safe_write)和安全删除(safe_delete)等方法,通过异常处理和临时文件等技术确保操作安全

博客 359

Curl之获取外网IP

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34250434的博客 1154

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

curl获取ip定位信息 --- system(一)

本文使用curl获取ip地理位置的json格式,并通过cjson进行解析,使用curl的三种方式进行请求:命令行system()将curl后的内容拷贝到文件中,后进行解析使用libcurl请求使用libcurl multi 异步方式请求。

qq_40604302的博客 1307

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

curl获取本机公网IP

背景: 经常需要查询到本机/本网络所在的 IP 地址。比如把本机的外网IP加到某个服务的白名单中。方案:除了在百度上输入IP搜索得到本机IP地址外, 也可以使用命令行快捷。访问能够返回 IP 地址的 网址。

robinson_911的专栏 1395

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

curl命令获取本机外网IP

curl获取本机外网IP的几个命令: curl ifconfig.me curl icanhazip.com curl curlmyip.com curl ip.appspot.com curl ipinfo.io/ip curl ipecho.net/plain curl www.trackip.net/i #补充 curl ip.sb ...

云间小憩 7万+

curl获取本机外网IP的几个命令,查看本机外网地址

本文为joshua317原创文章,转载请注明:转载自joshua317博客https://www.joshua317.com/article/43 curl获取本机外网IP的几个命令: curl ifconfig.me curl icanhazip.com curl curlmyip.com curl ip.appspot.com curl ipinfo.io/ip curl ipecho.net/plain curl www.trackip.net/i #补充 curl ip.sb curl..

joshua317的博客 4495

curl 指定Ip获取远程文件

/** * 指定ip 获取远程数据 * @ip string ip地址 */ public function curl_by_host($ip) { $httpHeader = array('Host:basic.10jqka.com.cn'); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $ip); curl_setopt(

igo9go_zq的博客 1013

Linux系统curl获取公网ip

收集了几个查询当前公网ip的网址,可以通过curl命令方便的查看 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 curl cip.cc curl ipinfo.io curl myip.ipip.net curl http://members.3322.org/dyndns/getip curl https:

lisheng19870305的专栏 1234

curl命令行下直接获取当前IP信息

curl命令行下直接获取当前IP信息 curl cip.cc curl myip.ipip.net 这个必要要带Https协议,否则就需要-L参数.因为会301重定向 curl https://tool.lu/ip curl ipinfo.io ...

chuanguan1820的博客 3439

CURL 获取指定IP主机信息

大型网站一般都会有多台主机, 比如新浪网,通过 NSLOOKUP 就可以看出,它指向了多个IP。 Z:\>nslookup www.sina.com.cn Server: c.center-dns.jsinfo.net Address: 61.177.7.1 Name: newsnj.sina.com.cn Addresses: 202.102.75.169, 202.102.75.17...

weixin_30419799的博客 287

curl获取ip定位信息 --- libcurl-easy(二)

上文主要介绍了ip_api.com、cjson的解析函数以及使用system发生curl请求;本文主要介绍使用libcurl进行curl请求。 是一个广泛使用的开源库,它提供了一个客户端接口,用于在不同的网络协议(如 HTTP、HTTPS、FTP 等)中进行数据传输。它常用于实现程序中的网络请求操作,尤其是用于进行 GET、POST 请求和其他 HTTP 操作。主要功能:支持多种协议:支持 HTTP、HTTPS、FTP、FTPS、SFTP、IMAP、SMTP 等多种网络协议。跨平台支持: 可以在 Linux

qq_40604302的博客 814

shell中用curl获取外网ip地址

要获取NAT之后的外网IP地址,可以用浏览器打开www.ip138.com。如果在shell里,可以用下面的方法:$ curl ifconfig.me $ curl ifconfig.me⇒$ curl ifconfig.me/ip⇒$ curl ifconfig.me/host⇒$ curl if

sanitizer的专栏 6716

php获取指定ip,php利用curl获取指定IP的所有信息的API

看马:function getIpInfo($ip,$timeout=15) {if(!function_exists('curl_init') or !function_exists('simplexml_load_string')) return false;$ch = curl_init("http://ipinfodb.com/ip_query2.php?ip={$ip}&time...

weixin_42224303的博客 319

Linux下获取服务器本机外网IP的curl命令

运用curl获取自己的外网IP curl icanhazip.com icanhazip.com 是一个神奇的网址,访问时会返回主机的外网访问ip,类似的网址还有如下: http://ip.3322.net myip.dnsomatic.com ip.appspot.com curl + 网址 返回值即自己外网的ip. 可以根据自己需求加以利用. ...

JuncaiLiao的专栏 761
上一篇: C++ static的用法有哪些?
下一篇: libconfig
burke_____
博客等级 码龄19年 37粉丝 115原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值