小编Pet*_*ter的帖子

http:服务器向 HTTPS 客户端发出 HTTP 响应

我正在使用 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)

go google-geocoding-api

9
推荐指数
1
解决办法
1万
查看次数

从http响应中获取标头

我是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)

我该如何以简单的方式做到这一点?

elm

7
推荐指数
2
解决办法
1384
查看次数

如何在 PHP 中从 DateTimeInterface 创建 DateTime?

这是一个相当简单的问题,但我在互联网上找不到真正的答案。

因此,假设在 PHP 中,我有一个 a 的实例DateTimeInterface,并且DateTime在同一时刻我需要 a 。这样做的首选方式是什么?通过字符串进行转换似乎相当复杂,我不确定要使用哪种格式。也许通过时间戳?我不确定当涉及时区时这是否有效。

php datetime

7
推荐指数
1
解决办法
5068
查看次数

在PHP或Unix命令行中确定图像分辨率和文件类型的最快方法?

我目前正在使用ImageMagick来确定上传到网站的图片大小.通过在命令行上调用ImageMagick的"识别",它需要大约0.42秒来确定1MB JPEG的尺寸以及它是JPEG的事实.我发现有点慢.

使用Imagick PHP库甚至更慢,因为它在对图像进行任何处理之前尝试加载整个1MB的内存(在这种情况下,只需确定其大小和类型).

是否有任何解决方案可以加快确定哪个文件类型以及任意图像文件具有哪些尺寸的过程?我可以忍受它只支持JPEG和PNG.对我来说重要的是文件类型是通过查看文件的标题来确定的,而不仅仅是扩展名.

编辑:解决方案可以是PHP调用的命令行工具UNIX,就像我现在使用ImageMagick的方式一样

php png jpeg image imagemagick

5
推荐指数
2
解决办法
9757
查看次数

CakePHP:插入具有特定ID的记录

这与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记录.

保存记录后,我无法调用外部进程.根本没有办法修改外部进程.


[1] http://api12.cakephp.org/view_source/model/#l-1260

php cakephp cakephp-1.2

3
推荐指数
1
解决办法
2812
查看次数

为什么 Golang 在 atoi.go 中像这样处理截止?

// 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)

非常感谢。

overflow atoi go

3
推荐指数
1
解决办法
50
查看次数

将int转换为byte

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

2
推荐指数
1
解决办法
1559
查看次数

无法使用 Go X509 pkg 解析 ECDSA 密钥

我正在尝试使用 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)

有人可以告诉我我在这里做错了什么吗?

cryptography go ecdsa

2
推荐指数
1
解决办法
1400
查看次数

从URL中提取不区分大小写的查询参数

我试图/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.它会失败.

url go request.querystring querystringparameter

-2
推荐指数
1
解决办法
829
查看次数