PYTHON 上 JSON 的 Indexnow 协议 POST 请求

Indexnow protocol POST request with JSON on PYTHON

我正在尝试为 Indexnow protocol 发出 POST 请求,它允许用户向搜索引擎 (BING) 发送大量 link 以进行即时索引。当我阅读所有文档时,我发现该协议建议这样的 JSON 请求构造:

POST /indexnow HTTP/1.1
Content-Type: application/json; charset=utf-8
Host: <searchengine>
{
  "host": "www.example.com",
  "key": "265f7fb3bd6c41118f6bf05568d9c825",
  "urlList": [
      "https://www.example.com/url1",
      "https://www.example.com/folder/url2",
      "https://www.example.com/url3"
      ]
}

我选择使用 Python,这是我针对此 POST 请求的代码:

import advertools as adv
import pandas as pd
import requests
import json
import time


def submit_url_set(set_:list, key, location, host="https://www.bing.com", headers={"Content-type":"application/json", "charset":"utf-8"}):
     key = "91ca7c564b334f38b0b1ed90eec8g8b2"
     data = {
     "host": "www.bing.com",
     "key": key,
     "keyLocation": "https://uchet.kz/91ca7c564b334f38b0b1ed90eec8g8b2.txt",
     "urlList": [
    'https://uchet.kz/news/formirovanie-obshchestva-chistogo-ot-korruptsii-dobivaetsya-tokaev/',
    'https://uchet.kz/news/pravila-polucheniya-iin-inostrantsu-v-rk-izmeneny/',
    'https://uchet.kz/news/zabolevaemost-koronavirusom-sredi-shkolnikov-vyrosla-v-13-raza/',
    'https://uchet.kz/news/izmeneny-pravila-provedeniya-tamozhennoy-ekspertizy/'
      ]
     }
     r = requests.post(host, data=data, headers=headers)
     return r.status_code

脚本运行后,没有 returns。 我希望脚本 return 服务器响应代码 HTTP 代码 200 OK

我真正期待的是什么

获取每个索引的服务器响应代码url

前往Post Requests Online

  1. 输入您的搜索引擎URL

  2. 将您的代码以这种格式放在下面的 window 中:

    {
      "host": "your_site",
      "key": "your_key",
      "urlList": [
           "https://your_site/1",
           "https://your_site/2",
           "https://your_site/3"
          ]
     }
    
  3. 按发送。

  4. 完成

SCREENSHOT

我是代码的作者

IndexNow API 没有 return 响应,如果您没有收到错误消息,则表示请求已被接受。

您可以检查您的日志文件以验证这一点。

还有,https://www.searchenginejournal.com/indexnow-api-python/429726/在文章中,是这样说的。