在不使用任何第三方软件或依赖PowerShell的情况下通过命令提示符执行此操作的任何方法?
一个简单的命令就像在Linux / Mac上一样,我使用curl http://ipinfo.io/ip
。
谢谢!
答案 0 :(得分:6)
在powershell中使用 Invoke-WebRequest 模块。例如:
ListAdapter
编辑:我误解了这个问题,并认为你需要使用Powrshell。
cmd.exe中没有内置命令可返回公共IP地址。但你可以使用nslookup解决它,就像这样;
Invoke-WebRequest ifconfig.me/ip
OP的另一个选择:
nslookup myip.opendns.com. resolver1.opendns.com
连接后输入“GET”。
注意:Windows上默认未安装/启用telnet。
答案 1 :(得分:1)
此命令对我有用:
nslookup myip.opendns.com. resolver1.opendns.com
答案 2 :(得分:0)
尝试使用普通dos批次
@echo off
nslookup myip.opendns.com resolver1.opendns.com | find "Address" >"%temp%\test1.txt"
more +1 "%temp%\test1.txt" >"%temp%\test2.txt"
set /p MyIP=<%temp%\test2.txt
del %temp%\test2.txt
set MyIP=%MyIP:~10%
echo %MyIP%
现在,%MyIP%可以回显或用作其他批量使用的变量。
答案 3 :(得分:0)
Windows / Linux版本:
import React, { Component } from 'react';
class Contact extends Component {
constructor(props) {
super(props);
this.state = {
message: '',
email: '',
loading: false,
successMessage: ''
};
}
handleSubmit(e) {
e.preventDefault();
/*global fetch */
fetch('https://xxxxxxxxxx.execute-api.eu-west-2.amazonaws.com/xxx',{
method: "POST",
body: JSON.stringify(this.state),
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
},
}).then(
(response) => (response.json())
).then((response)=>{
if (response.status === 'success'){
alert("Message Sent.");
this.resetForm();
}else if(response.status === 'fail'){
alert("Message failed to send.");
}
/*
if (response.ok) {
this.setState({ successMessage: true});
}
*/
});
}
onEmailChange(event) {
this.setState({email: event.target.value});
}
onMessageChange(event) {
this.setState({message: event.target.value});
}
render() {
return (
<div className="container mt-5">
<h3>Contact</h3>
<form id="contact-form" onSubmit={this.handleSubmit.bind(this)} method="POST">
<div className="form-group mt-4">
<label htmlFor="exampleInputEmail1">Email address</label>
<input type="email" className="form-control" required aria-describedby="emailHelp" value={this.state.email} onChange={this.onEmailChange.bind(this)} />
</div>
<div className="form-group">
<label htmlFor="message">Message</label>
<textarea className="form-control" rows="5" required value={this.state.message} onChange={this.onMessageChange.bind(this)} />
</div>
<button type="submit" className="btn btn-primary">Submit</button>
{ this.state.successMessage &&
<div className="alert alert-success mt-5" role="alert">
Your message has been successfully sent. Thanks for your message!
</div> }
</form>
</div>
);
}
}
export default Contact;
Unix版本:
nslookup myip.opendns.com resolver1.opendns.com
答案 4 :(得分:0)
这对我来说非常合适:
curl http://ip.jsontest.com/ > ip.json
for /f "tokens=2 delims=:" %%a in ('type ip.json') do (set publicip=%%a)
set publicip=%publicip:{=%
set publicip=%publicip:}=%
set publicip=%publicip:"=%
echo %publicip:~1%
答案 5 :(得分:0)
最简单的方法是遵循命令
curl "http://myexternalip.com/raw"
&您将获得公共IPV4。
答案 6 :(得分:0)
curl ip-adresim.app
它同时支持IPv4和IPv6。
答案 7 :(得分:0)
您可以在 Windows 和 Linux 中使用这些命令
<块引用>curl ifconfig.me
Curl 是升级到最新版本时 Windows 内置的东西,所以它不称为第三方软件。
或
<块引用>curl ifconfig.co
在 Linux 中,几乎发行版已经有了这个命令。
非常感谢 ArthurG 的命令。它工作得很好,可以以多种方式用于批处理脚本。