我正在使用 go 来使用 google 地图地理编码 API,但我不断收到此错误:
The HTTP request failed with error Get https://maps.googleapis.com /maps/api/geocode/json?address=Bangalore&key=KEY: http: server gave HTTP response to HTTPS client
Run Code Online (Sandbox Code Playgroud)
错误中的网址在我的浏览器中工作正常并给出适当的响应,但不会在下面的代码片段中给出我想要的内容:
package main
import(
"fmt"
"io/ioutil"
"net/http"
)
func main() {
key := "mysecretkey"
location := "Bangalore"
url := "https://maps.googleapis.com/maps/api/geocode/json?address="+location+"&key="+key
fmt.Println("Starting the application...")
response, err := http.Get(url)
if err!=nil{
fmt.Printf("The HTTP request failed with error %s\n", err)
}else {
data, _ := ioutil.ReadAll(response.Body)
fmt.Println(string(data))
}
}
Run Code Online (Sandbox Code Playgroud) 我是elm的新手,我有一个登录api,它在hedears中返回一个JWT令牌
curl http://localhost:4000/api/login?email=bob@example&password=1234
Run Code Online (Sandbox Code Playgroud)
响应:
HTTP/1.1 200 OK
authorization: Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXyLp0aSI6ImefP2GOWEFYWM47ig2W6nrhw
x-expires: 1499255103
content-type: text/plain; charset=utf-8
success
Run Code Online (Sandbox Code Playgroud)
现在我试图编写一个函数,它将发送请求并从elm中的标头返回令牌
authUser =
Http.send "http://localhost:4000/api/login?email=bob@example&password=1234"
Run Code Online (Sandbox Code Playgroud)
我该如何以简单的方式做到这一点?
这是一个相当简单的问题,但我在互联网上找不到真正的答案。
因此,假设在 PHP 中,我有一个 a 的实例DateTimeInterface,并且DateTime在同一时刻我需要 a 。这样做的首选方式是什么?通过字符串进行转换似乎相当复杂,我不确定要使用哪种格式。也许通过时间戳?我不确定当涉及时区时这是否有效。
我目前正在使用ImageMagick来确定上传到网站的图片大小.通过在命令行上调用ImageMagick的"识别",它需要大约0.42秒来确定1MB JPEG的尺寸以及它是JPEG的事实.我发现有点慢.
使用Imagick PHP库甚至更慢,因为它在对图像进行任何处理之前尝试加载整个1MB的内存(在这种情况下,只需确定其大小和类型).
是否有任何解决方案可以加快确定哪个文件类型以及任意图像文件具有哪些尺寸的过程?我可以忍受它只支持JPEG和PNG.对我来说重要的是文件类型是通过查看文件的标题来确定的,而不仅仅是扩展名.
编辑:解决方案可以是PHP调用的命令行工具UNIX,就像我现在使用ImageMagick的方式一样
这与CakePHP基本上是同一个问题:是否可以插入带有预定义主键值的记录?.在CakePHP 1.2中,我想插入一个具有预定ID的记录.id的值由外部系统决定,但与链接问题不同,我无法控制该系统,因此该问题的解决方案对我来说不是一个选项.
如果在调用时设置了模型的id字段$model->save(),Cake将始终尝试更新记录.false如果已经存在具有该id的记录,Cake甚至会将id设置为[1]:
<?php
function save($data = null, $validate = true, $fieldList = array()) {
// snip
if (!$this->__exists && $count > 0) {
$this->id = false;
}
// snip
}
Run Code Online (Sandbox Code Playgroud)
首先保存模型然后手动更新id也不是一个选项,因为这会破坏参照完整性(这是我无法控制的架构限制).
那么我如何强制CakePHP插入具有特定主键的记录?
关于我面临的问题的一些背景:
我正在处理的应用程序由Postgres数据库支持,因此新的主键由序列决定.有一个进程,外部系统将SELECT nextval('my_model_sequence')使用该ID进行一些工作,然后将其传递给CakePHP应用程序,我想要INSERT一个带有该id的my_model记录.
保存记录后,我无法调用外部进程.根本没有办法修改外部进程.
// code in atoi.go, line 90
var cutoff uint64
switch base {
case 10:
cutoff = maxUint64/10 + 1
case 16:
cutoff = maxUint64/16 + 1
default:
cutoff = maxUint64/uint64(base) + 1
}
Run Code Online (Sandbox Code Playgroud)
我在Golang包的atoi.go文件中看到了一些代码,为什么不像下面这样写呢?
var cutoff = maxUint64/uint64(base) + 1
Run Code Online (Sandbox Code Playgroud)
非常感谢。
var x uint64 = 257
var y int = 257
fmt.Println("rv1 is ", byte(x)) // ok
fmt.Println("rv2 is ", byte(y)) // ok
fmt.Println("rv3 is ", byte(257)) // constant 257 overflows byte
fmt.Println("rv4 is ", byte(int(257))) // constant 257 overflows byte
Run Code Online (Sandbox Code Playgroud)
它很奇怪.
所有这些都将int转换为byte,因此所有这些都应该是错误的.
但案例1,2还可以!
怎么可能?
我正在尝试使用 Go 的 crypto/x509 包使用以下代码解析 ECDSA secp384r1 曲线密钥(https://play.golang.org/p/opFLBMaKhDv):
import (
"crypto/x509"
"encoding/pem"
"fmt"
)
var b = `-----BEGIN EC PRIVATE KEY-----
MIGkAgEBBDBsee4GAKz9Jo603xmGZ0uYEbJAoUgNqCYjDiLfj6zG4fvVSiCVxoTx
rVcvW2lmVcmgBwYFK4EEACKhZANiAATm6yBej3NVXnXAydMdLvrIB0PMr/fT6VCD
MB2pXzqxbQs8tYt3Rqd0HnzAZyYb1KhOX5lG0MyBDohhPRXqWE3gMhEq47BdzC7G
gEftttcFKXX/PSxsZUDL6GiliaB0/9E=
-----END EC PRIVATE KEY-----`
func main() {
blk, _ := pem.Decode([]byte(b))
_, err := x509.ParseECPrivateKey(blk.Bytes)
fmt.Println((err.Error()))
}
Run Code Online (Sandbox Code Playgroud)
但遇到了以下恐慌
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0x10e9366]
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我我在这里做错了什么吗?
我试图/staging/ec/23463/front-view-72768.jpg?angle=90&or=0x0&wd=400&ht=200从URL中提取不区分大小写的查询参数.当我尝试以小写形式转换整个URL时,它会抛出以下异常:
cannot use r.URL (type *url.URL) as type string in argument to strings.ToLower
Run Code Online (Sandbox Code Playgroud)
我打印了URL的值,它表示底层它将所有查询字符串存储为map ie map[angle:[90] or:[0x0] wd:[400] ht:[200]].因此,我将使用此获取正确的值r.URL.Query().Get("or")但是如果查询字符串出来Or.它会失败.
go ×5
php ×3
atoi ×1
cakephp ×1
cakephp-1.2 ×1
cryptography ×1
datetime ×1
ecdsa ×1
elm ×1
image ×1
imagemagick ×1
jpeg ×1
overflow ×1
png ×1
url ×1