我什至不确定这是否正在发生,可能是URLScan.io的结尾,但是使用以下代码:
api = '####################'
url = 'https://www.urlscan.io/api/v1/scan/'
headers = {
'Content-Type': 'application/json',
'API-key': api
}
data = '{"url": "https://www.google.com", "public": "on"}'
resp = requests.post(url, data=data, headers=headers)
我一直收到以下错误:
{
"message": "Wrong method, use POST",
"description": "In order to scan a page, you have to POST here.",
"status": 405
}
我不知道我在做什么错。在我的调试器中,它说,即使我调用request.post resp也是requests.get返回对象。怎么可能呢?我在做什么错了?
答案 0 :(得分:3)
除了数据应该是字典,而不是预格式化的json字符串之外,您没有做错任何事情。
r = requests.post('https://httpbin.org/post', data = {'key':'value'})
答案 1 :(得分:3)
在命令行上运行它:
curl -X POST "https://urlscan.io/api/v1/scan/" \
-H "Content-Type: application/json" \
-H "API-Key: $apikey" \
-d "{\"url\": \"$url\", \"public\": \"on\"}"
如果您收到相同的消息,则可能与他们有关。
答案 2 :(得分:0)
以下是适用于python中urlscan.io的代码:
import requests
import json
headers = {'API-Key':'your-api-key','Content-Type': 'application/json'}
params = {'url': 'scan-url' }
response = requests.post('https://urlscan.io/api/v1/scan/',headers=headers, data=json.dumps(params))
对API调用的响应将为您提供扫描的扫描ID和API端点,您可以在稍等片刻后使用它来检索结果。在扫描完成之前,URL将以HTTP 404状态代码响应。
希望有帮助!