json.decoder.JSONDecodeError: Ожидаемое значение: строка 1, столбец 1 (символ 0) появляется после отправки точно 56 запросов - PullRequest
0 голосов
/ 14 июня 2019

Я отправляю несколько запросов get в solr, и я меняю суффикс url в каждом.Все это происходит в цикле.


li = ['first sentence', 'second sentence', 'third sentence', ...]

for count, item in enumerate(li):
    print('iteration:', count)
    url = '''http://someurl/'''
    url += item.join('%20')

    val = requests.get(url, verify=False, auth=HTTPBasicAuth('user', 'paSSW0rd'))

    print(val.json())   

Длина списка составляет около 200, и цикл выполняется отлично для 56 итераций, но на 56-й итерации я получаю ошибку

json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Поскольку списокдлиной около 200, я также сделал li = li [57:] перед циклом и запустил цикл.Цикл по-прежнему выдает ошибку после 56 итераций.

1 Ответ

0 голосов
/ 14 июня 2019

Сначала используйте запрос POST - при превышении определенной длины URL-адреса HTTP-сервер отклонит запрос.Solr будет обрабатывать запрос POST точно так же, как запрос GET.

Во-вторых, Solr имеет настройку maxBooleanClauses, которую можно установить на большее значение в solrconfig.xml, еслинеобходимо.Его значение по умолчанию - 1000, что достаточно для большинства запросов, но если у вас есть много, много терминов, вы превысите этот предел.

Журнал Solr покажет вам исключение, которое точно скажет, какойиз этих двух ты ударил.Сообщение об ошибке от python сообщает вам, что на другом конце произошло что-то, из-за чего Solr возвратил что-то, отличное от обычного ответа JSON (например, 500 Internal Server Error).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...