Я пытался узнать Solr4.0, и я смотрю на обновление документа JSON в их documentation который выглядит следующим образом:Преобразовать Solr локон updateJSON синтаксис питона с помощью urllib2
cd example/exampledocs
curl 'http://localhost:8983/solr/update/json?commit=true' --data-binary @books.json -H 'Content-type:application/json'
Он отлично работает и я могу видеть обновленные документы по моему индексу solr. Тем не менее, мне было интересно, как я могу использовать эту команду curl в python через urllib2. Итак, что-то вроде:
theurl=r"""http://localhost:8983/solr/update/json?commit=true --data-binary @books.json -H 'Content-type:application/json'"""
import urllib2
import httplib
import cookielib
...use urllib2 to post theurl
Однако это не работает. Похоже, что urllib2 не распознает (например, -H
, который, очевидно, кажется завихряющимся), сформированный выше theurl
. Как следует форматировать theurl
, чтобы я мог использовать его с urllib2?
вы можете дать StackTrace? – ennuikiller
Итак, когда я открываю 'http: // localhost: 8983/solr/update/json? Commit = true --data-binary @ books.json -H 'Content-type: application/json'' с' urllib2' I get: 'urllib2.HTTPError: HTTP Ошибка 400: Плохой запрос' Я не думаю, что urllib2 понимает этот бит:' --data-binary @ books.json -H 'Content-type: application/json'' – JasonB