为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 Go 向 urlscanio 发出发布请求?

如何使用 Go 向 urlscanio 发出发布请求?

Go
弑天下 2023-05-08 15:04:33
我正在做的是尝试提交一个 URL 以扫描到 urlscan.io。我可以进行搜索,但提交有问题,尤其是正确发送正确的标头/编码数据。从他们的网站上如何提交网址:curl -X POST " https://urlscan.io/api/v1/scan/ " \ -H "Content-Type: application/json" \ -H "API-Key: $apikey" \ -d "{\" url\": \"$url\", \"public\": \"on\"}"这可以满足 Api 密钥标头要求,但是req.Header.Add("API-Key", authtoken)这是我失败的尝试data := make(url.Values) data.Add("url", myurltoscan)我一直在努力解决的 URL 属性。这是我的错误:“消息”:“缺少 URL 属性”,“描述”:“提供的 URL 不正确,请指定它,包括协议、主机和路径(例如 http://example.com/bar ) ” , "状态": 400
查看完整描述

1 回答

?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

url.Valuemap[string][]string包含在查询参数或表单中使用的值POST。如果您尝试执行以下操作,您将需要它:

curl -X GET https://urlscan.io/api/v1/scan?url=<urltoscan>

或者

curl -X POST -F 'url=<urltoscan>' https://urlscan.io/api/v1/scan

要发送带有 JSON 数据的常规 POST 请求,您可以将 JSON 编码为字节并发送http.Post

var payload = []byte(`{"url":"<your-url>","public":"on"}`)

req, err := http.NewRequest("POST", url, 

bytes.NewBuffer(payload))

req.Header.Set("API-Key", authtoken)

req.Header.Set("Content-Type", "application/json")


client := &http.Client{}

resp, err := client.Do(req)

if err != nil {

        panic(err)

}

defer resp.Body.Close()


查看完整回答
反对 回复 2023-05-08
  • 1 回答
  • 0 关注
  • 133 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信