那些年的golang开发经验记录

goland 问题CreateProcess error=216, 该版本的 %1 与你运行的 Windows 版本不兼容。请查看计算机的系统信息,然后联系软件发布者

Cannot run program "......" (in directory "D:\project\go\awesomeProject\src\test"): CreateProcess error=216, 该版本的 %1 与你运行的 Windows 版本不兼容。请查看计算机的系统信息,然后联系软件发布者

在入口文件的第一行改成如下即可

package main

goland 问题 x86_64-pc-cygwin/bin/ld: cannot find -lmingwex cannot find -lmingw32


与cygwin的gcc编译器不兼容问题

解决方案一:

下载切换到tdm-gcc环境,然后再系统环境变量path里把tdragon的位置上移到cygwin上面,让系统调用gcc时先识别tdragon的gcc,或者直接把cygwin的环境路径直接删除了,或者直接从goland里的settings->Go->GoPath里添加tdragon的路径,如下图:

preview

解决方案二:

直接在cygwin的安装程序里安装下mingw64的环境变量,然后把cygwin的gcc删除(理论没实测)

http get Content-Encoding:deflate 问题


Golang 默认是请求gzip编码的数据,也就是会自动设置头Accept-Encoding为gzip(参看源码here),但有些服务器会忽略该标识,强制返回deflate格式的压缩数据,也就导致无法解压成功,最终从response.Body获取的就是一堆杂乱无章的数据,这个数据就是未解压的原始deflate数据,解决办法也很简单,就是在Body外面套一层flate解码,代码如下:

ioutil.ReadAll(flate.NewReader(resp.Body))
  • 这也不算是Golang的问题,毕竟人家只是在遵循http协议,只是服务端没有遵循这种协议,或者是不支持gzip编码
  • 测试python不会有这个问题,因为它的默认Accept-Encoding为gzip,deflate,支持解码这种数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jitcor

觉得有用,不赏点?

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值