0 / 0 / 0
Регистрация: 09.11.2015
Сообщений: 2
1

Работа с cookie в apache xmlrpc

03.02.2016, 18:16. Показов 431. Ответов 0
Метки нет (Все метки)

Помогите пожалуйста...

Пытаюсь посмотреть соединение, просто его присутствие пока...
close() явно вызывается и в conn у нас null

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
XmlRpcTransportFactory factory = new XmlRpcSunHttpTransportFactory(client) {
                public XmlRpcTransport getTransport() {
                    return new XmlRpcSunHttpTransport(client) {
                        private URLConnection conn;
 
                        @Override
                        protected void close() throws XmlRpcClientException {
                            System.err.println(conn);
                        }
                    };
                }
            };
 
            client.setTransportFactory(factory);
Вот так отправляю. Всё нормально...

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
XmlRpcTransportFactory factory = new XmlRpcSunHttpTransportFactory(client) {
                    public XmlRpcTransport getTransport() {
                        return new XmlRpcSunHttpTransport(client) {
                            @Override
                            protected void initHttpHeaders(XmlRpcRequest request) throws XmlRpcClientException {
                                super.initHttpHeaders(request);
                                setRequestHeader("Cookie", "");
                            }
                        };
                    }
                };
 
                client.setTransportFactory(factory);

На сайте апача вот так, но это наверное старая версия. тк нет таких методов в этом классе..

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
final XmlRpcClient client = new XmlRpcClient();
    XmlRpcTransportFactory factory = new XmlRpcTransportFactory(){
        public XmlRpcTransport getTransport(){
            private URLConnection conn;
            protected URLConnection newURLConnection(URL pURL) throws IOException {
                conn = super.newURLConnection(pURL);
                return conn;
            }
            protected void initHttpHeaders(XmlRpcRequest pRequest) {
                super.initHttpHeaders(pRequest);
                setCookies(conn);
            }
            protected void close() throws XmlRpcClientException {
                getCookies(conn);
            }
            private void setCookies(URLConnection pConn) {
                // Implement me ...
            }
            private void getCookies(URLConnection pConn) {
                // Implement me ...
            }
        }
    };
    client.setTransportFactory(factory);
оригинал метода close() выполняется только 1 раз как и надо.

Java
1
2
3
4
5
6
protected void close() throws XmlRpcClientException {
        if(this.conn instanceof HttpURLConnection) {
            ((HttpURLConnection)this.conn).disconnect();
        }
 
    }
Никак не могу получить это значение conn...
оно private URLConnection conn; И запрос как ни странно проходит отлично...
Всем заранее спасибо.

Добавлено через 6 минут
Или подскажите библиотеку парсинга xmlrpc с поддержкой cookie или headers. просто не хотелось бы подключать в эту тотжу URLConnection

Добавлено через 36 минут
Получилось так... но в headers нет cookie, хотя я уверен, что сервер отдал как минимум 2 значения... Проверял через php curl

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
XmlRpcTransportFactory factory = new XmlRpcSunHttpTransportFactory(client) {
                public XmlRpcTransport getTransport() {
                    return new XmlRpcSunHttpTransport(client) {
                        private URLConnection conn;
 
                        @Override
                        public Object sendRequest(XmlRpcRequest pRequest) throws XmlRpcException {
                            XmlRpcHttpClientConfig config = (XmlRpcHttpClientConfig)pRequest.getConfig();
 
                            try {
                                this.conn = config.getServerURL().openConnection();
                                this.conn.setUseCaches(false);
                                this.conn.setDoInput(true);
                                this.conn.setDoOutput(true);
                            } catch (IOException var4) {
                                throw new XmlRpcException("Failed to create URLConnection: " + var4.getMessage(), var4);
                            }
 
                            return super.sendRequest(pRequest);
                        }
 
                        @Override
                        protected void close() throws XmlRpcClientException {
                            System.err.println(conn.getHeaderFields());
                            if(this.conn instanceof HttpURLConnection) {
                                ((HttpURLConnection)this.conn).disconnect();
                            }
                        }
                    };
                }
            };
 
            client.setTransportFactory(factory);
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.02.2016, 18:16
Ответы с готовыми решениями:

Работа с Cookie
Решить задачу: в файле хранится текст. Найти три предложения, содержащие наибольшее количество...

Работа с файлами Apache POI Java
Доброго времени суток! Уже 2 дня бьюсь о скалы. Моя задача написать программу которая будет...

Apache cookie
Здравствуйте. Подскажите, как настроить апач, что бы куки писались по прямому линку а не по...

Cookie в Apache: домены и поддомены
Добрый день! Только начал изучать куки, застрял на передаче полномочий COOKIE-доступа для...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.02.2016, 18:16

Работа с cookie
здраствуйде как мне сохранять куки в програме, ато я не могу на сайте залогинитца із за того что у...

Работа с Cookie
Доброго времени суток . Люди подскажите как правильно сделать . Я хочу получить Cookie от Yandex...

Работа c COOKIE
Всем привет. в общем прошу не ругаться, понимаю что для многих вопрос плевый но для меня новый не...

Работа с Cookie
Всем привет. Пишу счетчик посещений для сайта, интересует вопрос как при помощи куки сделать так...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru