1.下载编译curl

curl 下载地址:http://curl.haxx.se/download.html ,下载后解压到一个目录,使用vs开发者工具里的 “Visual Studio 命令提示(2010)” 打开命令行,

切换到源码目录 F:\curl-7.46.0\winbuild\,使用命令 nmake/f Makefile.vc mode=static 编译一下,在 F:\curl-7.46.0\builds\libcurl-vc-x86-release-static-ipv6-sspi-winssl\bin 目录下生成curl.exe 文件。

打开命令行切换到curl.exe目录,查看版本 curl -V

curl 7.46.0 (i386-pc-win32) libcurl/7.46.0 WinSSL WinIDN
Protocols: dict file ftp ftps gopher http https imap imaps ldap pop3 pop3s rtsp
smb smbs smtp smtps telnet tftp
Features: AsynchDNS IDN IPv6 Largefile SSPI Kerberos SPNEGO NTLM SSL

如果在使用curl时出现 curl: (1) Protocol https not supported or disabled in libcurl错误,首先检查一下用的curl.exe是否支持https协议.

2.知乎上有个根据curl --connect-timeout https://google.com 返回值判断是否是国内网络的代码段

链接地址:https://www.zhihu.com/question/30262900

# Guess your location, you know it.

location='oversea'

curl --connect-timeout 1 https://google.com 2>&1 >/dev/null

ret=$? if [ $ret -ne 0 ]; then

  location='cn'

else

.......

这里翻译一个window下批处理版本

@echo off
set location='oversea'
echo '当前位置:%location%'
echo '访问http://www.baidu.com' rem -x 设置代理
rem --connect-timeout 连接超时1秒,命令正常执行结果为1指stdout标准输出,
rem 就是控制台输出;2指stderr错误输出,这里 >$1表示重定向到1,
rem 然后再重定向到null,linux下是/dev/null,windows下是nul。
curl -x "http://192.168.0.6:8080" --connect-timeout "http://www.baidu.com" >$>nul
rem errorlevel是个系统变量指上一条语句的执行结果,成功时等于0
echo '结果%errorlevel%' echo '访问https://google.com'
curl -x "http://192.168.0.6:8080" --connect-timeout "https://google.com" >$>nul
rem 这里是56,完整信息是 curl: () Proxy CONNECT aborted due to timeout
echo '结果%errorlevel%' IF not errorlevel then(
set location='CN'
)
echo '当前位置:%location%'

curl --connect-timeout 判断国内外网络windows 批处理的更多相关文章

  1. ConnectionString属性(网速慢的情况下研究Connect Timeout)

    ConnectionString 类似于 OLE DB 连接字符串,但并不相同.与 OLE DB 或 ADO 不同,如果“Persist Security Info”值设置为 false(默认值),则 ...

  2. WINDOWS批处理命令使用大全

    来源:http://www.942dn.com就是爱电脑网 WINDOWS批处理命令使用大全 批处理,也称为批处理脚本,英文译为BATCH,批处理文件后缀BAT就取的前三个字母.它的构成没有固定格式, ...

  3. ORA-12170: TNS:Connect timeout occurred

    VM 作为ORACLE 服务器,客户端登陆提示超时,本地连接使用网络连接正常. D:>sqlplus system/oracle123@//192.168.63.121:15021/pdb01 ...

  4. [转帖]Windows批处理(cmd/bat)常用命令小结

    Windows批处理(cmd/bat)常用命令小结 非常值得学习的文档 先放这里 有时间做实验, 转载自:“趣IT”微信公共号 前言 批处理文件(batch file)包含一系列 DOS命令,通常用于 ...

  5. Windows 批处理大全(附各种实例)

    Windows 批处理大全(附各种实例) 2009年07月19日 21:31:00 阅读数:2552 批处理文件是无格式的文本文件,它包含一条或多条命令.它的文件扩展名为 .bat 或 .cmd.在命 ...

  6. Windows 批处理(cmd/bat)常用命令教程

    Windows批处理(cmd/bat)常用命令教程 简单详细,建议收藏 常见问题: 1.如果你自己编写的.bat文件,双击打开,出现闪退 2.批处理.bat 文件中输出中文乱码 解决方法在文章末尾! ...

  7. Windows批处理(cmd/bat)常用命令

    Windows批处理(cmd/bat)常用命令 一.总结 一句话总结: 1.批量处理图片的方式? PS批处理是基于强大的图片编辑软件Photoshop的,用来批量处理图片的脚本: 2.大量的重复的操作 ...

  8. Linux shell脚本判断服务器网络是否可以上网

    Linux shell脚本判断网络畅通 介绍 在编写shell脚本时,有的功能需要确保服务器网络是可以上网才可以往下执行,那么此时就需要有个函数来判断服务器网络状态 我们可以通过curl来访问 www ...

  9. 常用的Windows批处理

      切换执行路径 如果不换盘的话:cd xxx换盘:cd /d xxx   获取当前日期 编写Windows批处理时经常会需要使用到日期和时间作为文件名,所以是非常重要的. 如何获取日期呢?格式:  ...

随机推荐

  1. Maven的安装配置

    本文主要是针对mac os系统下maven的安装教程. 1.首先验证是否有jdk.java -version,没有需要手工安装 2.maven的下载地址:http://maven.apache.org ...

  2. PHP调用webservice遇到 Soap WSDL Error - "failed to load external entity

    本人遇到的原因是服务器上没有安装php-soap centos安装方式: yum install php-soap 安装完成后重启 php-fpm 服务 service php-fpm restart ...

  3. 20161127-emmagee

    Android 自动化测试 Emmagee Emmagee 是一个性能测试小工具 用来监控指定被测应用在使用过程中占用机器的CPU, 内存,流量资源的性能小工具 阅读目录 Emmagee 介绍 Emm ...

  4. PB-日志-系统函数2.13.7Match()、MatchW()

    ---恢复内容开始--- Match() 功 能:确定字符串中是否包含指定模式的字符. 语 法:Match ( string, textpattern ) 参 数:string:string类型,指定 ...

  5. 【转】}目前比较全的CSS重设(reset)方法总结

    在当今网页设计/开发实践中,使用CSS来为语义化的(X)HTML标记添加样式风格是重要的关键.在设计师们的梦想中都存在着这样的一个完美世界:所有的浏览器都能够理解和适用多有CSS规则,并且呈现相同的视 ...

  6. c# 正则提取小例子

    常用分组语法 分类 代码/语法 说明 捕获 (exp) 匹配exp,并捕获文本到自动命名的组里 (?<name>exp) 匹配exp,并捕获文本到名称为name的组里,也可以写成(?'na ...

  7. window.onload和window.onscroll

    之前我的一个页面里写了引入了2个js,一个是包含置顶的侧面客服,一个是定位导航.2个开始都用了window.onload,发现第一个js的定位导航没有显示,被第2个js覆盖了,当我去掉第2个js的wi ...

  8. An entity object cannot be referenced by multiple instances of IEntityChangeTracker.

    如果你和我一样遇到了这个问题,那么你就要检查你要操作的Model对象查询,更新操作的数据库上下文也就是DBContext是否一致.如果不一致也就是说你用AContext去查如AContext.SET& ...

  9. Docker容器是否可以改变世界?

    Docker容器是否可以改变世界? 2016-01-15 杜亦舒 2016年了,很多大牛开始预测技术趋势,其中一个普遍的观点我也很认同: Docker会更加流行,会改变程序世界 2015年的上半年我接 ...

  10. iOS开发 跳转系统设置

    NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString]; [[UIApplication sharedApplica ...