Сброс соединения по пиру: ошибка записи сокета httpclient и геосервер

Причина, по которой это происходит, можно найти здесь:

mlist = [1,2,3,4,5]
mlist2 = mlist

второй оператор «указывает» mlist2 на mlist (т. е. оба они относятся к одному ), и любые изменения, внесенные вами в один, отражаются в другом.

Чтобы сделать копию вместо этого попробуйте это (используя операцию среза):

mlist = [1,2,3,4,5]
mlist2 = mlist[:]

Если вам любопытно о нотации среза, этот SO-вопрос Списки Python (Slice метод даст вам больше фона.

Наконец , не рекомендуется использовать list в качестве идентификатора, поскольку Python уже использует этот идентификатор для своего собственная структура данных (по этой причине я добавил «m» перед именами переменных)

2
задан Pino 25 March 2019 в 15:11
поделиться

1 ответ

После сравнения необработанных HTTP-данных, сгенерированных curl, с данными, сгенерированными вашим кодом, я обнаружил следующие различия:

  • curl не генерирует составной запрос
  • curl генерирует заголовок Expect: 100-continue
  • curl использует преимущественную базовую аутентификацию

Следующий код должен быть эквивалентен этой команде curl, однако я не могу проверить ее с GeoServer. Я использовал свободный API apache-httpclient (то есть fluent-hc-4.5.7.jar ). Дайте мне знать, если это работает.

import java.io.File;
import org.apache.http.client.fluent.*;
import org.apache.http.entity.ContentType;

public class QuickStart {

    public static void main(String[] args) throws Exception {
        File file = new File("data.zip");
        Executor executor = Executor.newInstance()
                .auth("admin", "geoserver")
                .authPreemptive("172.16.17.86:9090");
        String response = executor.execute(Request.Put("http://172.16.17.86:9090/geoserver/rest/workspaces/IDIRA6/datastores/Murrindindi/file.shp")
                .useExpectContinue()
                .bodyFile(file, ContentType.create("application/zip")))
                .returnResponse()
                .toString();
        System.out.println(response);
    }

}
0
ответ дан Pino 25 March 2019 в 15:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: