Вернуться   Биткоин Форум > - Помощь начинающим
25 марта 2013, 8:27:41 PM   # 1
 
 
Сообщения: 3
Цитировать по имени
цитировать ответ
по умолчанию Re: BitcoinQt RPC Php скрипт не соединительном Исключение: Неправильный идентификатор ответа

Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome"
Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE
Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e
подробнее...


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Может кто-нибудь выяснить, что случилось с моей PHP скрипт? Клиент использует RPC завиток, чтобы сделать запрос HTTP. Выходной экран:

Исключение: Некорректный идентификатор ответа (запрос ID: 1, ответ ID: <) В C: \ WAMP \ WWW \ curlsome.php на линии 149


SCRIPT КОД:

     require_once 'curlsome.php';
  $ Bitcoin = новый jsonRPCClient (»HTTP: // локальный: 18332», 'User1', 'password1');
  эхо "<до>\ п";
   print_r ($ bitcoin->получить данные()); эхо "\ п";
  эхо "";
?>



КЛИЕНТ КОД:


класс jsonRPCClient {
   
   / **
    * Debug состояние
    *
    * @var булево
    * /
   частные $ отлаживать;
   
   / **
    * URL-адрес сервера
    *
    * @var строка
    * /
   частный $ URL;
   / **
    * Запрос идентификатор
    *
    * @var целое
    * /
   частный $ ID;
   / **
    * Если это правда, уведомления выполняются вместо запросов
    *
    * @var булево
    * /
   частное $ уведомление = ложь;
   
   / **
    * Принимает параметры соединения
    *
    * @param строка $ URL
    * @param булева $ отлаживать
    * /
   общественная функция __construct ($ URL, $ отлаживать = ложь) {
      // URL сервера
      $ this->URL = $ URL;
      // прокси
      пусто ($ прокси)? $ this->прокси = '': $ this->прокси = $ прокси;
      // состояние отладки
      пусто ($ отлаживать)? $ this->отлаживать = ложь: $ this->отлаживать = истина;
      // Идентификатор сообщения
      $ this->ID = 1;
   }
   
   / **
    * Устанавливает состояние уведомления объекта. В этом состоянии, уведомления выполняются, вместо запросов.
    *
    * @param булева $ уведомление
    * /
   общественная функция setRPCNotification ($ уведомлений) {
      пусто ($ уведомление)?
                     $ this->уведомление = ложь
                     :
                     $ this->уведомление = True;
   }
   
   / **
    * Выполняет запрос jsonRCP и получает результаты в виде массива
    *
    * @param строка $ метод
    * @param массив $ PARAMS
    * @return массив
    * /
   общественная функция __call (метод $, $ PARAMS) {
      
      // проверить
      если (! is_scalar ($ метод)) {
         проливают новый Exception ( «имя метода не имеет значения скалярной»);
      }
      
      // проверить
      если (is_array ($ PARAMS)) {
         нет // нет ключей
         $ PARAMS = array_values ​​($ PARAMS);
      } Еще {
         проливают новый Exception ( «Params должны быть предоставлены в виде массива»);
      }
      
      // устанавливает уведомление или запрос задачи
      если ($ this->уведомление) {
         $ CurrentId = NULL;
      } Еще {
         $ CurrentId = $ this->Я бы;
      }
      
      // готовит запрос
      $ Запрос = массив (
                  «Метод» => $ Метод,
                  'PARAMS' => $ PARAMS,
                  «Идентификатор» => $ currentId
                  );
      $ Запрос = json_encode ($ запроса);
      $ this->отлаживать && $ this->отладки. = '***** ***** Request'."\ п". $ Запрос."\ п". "***** Конец запроса *****."\ П \ п";
      
      // выполняет POST HTTP
      $ КЛЮЧ = массив ( 'HTTP' => массив (
                     «Метод» => 'ПОСЛЕ',
                     «Заголовок» => 'Content-тип: / JSON',
                     «Содержание» => $ запрос
                     ));
      $ Контекст = stream_context_create ($ КЛЮЧ);
      если ($ Fp = Еореп ($ this->URL, 'г', ложь, $ контекст)) {
         $ Ответ = '';
         в то время как ($ строка = fgets ($ FP)) {
            $ Ответ. = Обрезки ($ строка)."\ п";
         }
         $ this->отлаживать && $ this->отладки. = '***** ответ сервера *****."\ п". $ Ответ. ***** Конец ответа сервера *****."\ п";
         $ Ответ = json_decode ($ ответ, правда);
      } Еще {
         проливают новый Exception ( «Не удается подключиться к». $ this->URL);
      }
      
      // отладочный вывод
      если ($ this->отладки) {
         эхо nl2br ($ отлаживать);
      }
      
      // окончательные проверки и возврат
      если (! $ this->уведомление) {
         // проверить
         если ($ ответ [ 'ID']! = $ currentId) {
            проливают новый Exception ( 'Неверный идентификатор ответа (идентификатор запроса:' $ currentId 'идентификатор ответа:' $ ответ [ 'ID'] ')'....);
         }
         если (! is_null ($ ответ [ 'ошибка'])) {
            проливают новый Exception ( 'Request ошибку:' $ ответа [ 'ошибки'].);
         }
         
         возвращение $ ответ [ 'результат'];
         
      } Еще {
         возвращает истину;
      }
   }
}
?>

Большое спасибо,

Backedbit
Backedbit сейчас офлайн Пожаловаться на Backedbit   Ответить с цитированием Мультицитирование сообщения от Backedbit Быстрый ответ на сообщение Backedbit


Как заработать Биткоины?
Без вложений. Не майнинг.


25 марта 2013, 8:29:37 PM   # 2
 
 
Сообщения: 1246
Цитировать по имени
цитировать ответ
по умолчанию Re: BitcoinQt RPC Php скрипт не соединительном Исключение: Неправильный идентификатор ответа

Получил 1806 Биткоинов
Реальная история.





$ Bitcoin = новый jsonRPCClient (»HTTP: // локальный: 18332», 'User1', 'password1');

Которые должны быть
Код:
$ Bitcoin = новый jsonRPCClient ( 'HTTP: // user1: password1 @ локальный: 18332');
gweedo сейчас офлайн Пожаловаться на gweedo   Ответить с цитированием Мультицитирование сообщения от gweedo Быстрый ответ на сообщение gweedo

25 марта 2013, 8:31:19 PM   # 3
 
 
Сообщений: 83
Цитировать по имени
цитировать ответ
по умолчанию Re: BitcoinQt RPC Php скрипт не соединительном Исключение: Неправильный идентификатор ответа

Забавно, что вы должны отправить это только сейчас. Я просто прибегая к помощи, чтобы увидеть, если есть какие-либо скрипты там для получения данных MtGox.

Писали ли вы это с нуля или найти его в другом месте?


благодаря
MaxCoins сейчас офлайн Пожаловаться на MaxCoins   Ответить с цитированием Мультицитирование сообщения от MaxCoins Быстрый ответ на сообщение MaxCoins

25 марта 2013, 8:32:29 PM   # 4
 
 
Сообщения: 1246
Цитировать по имени
цитировать ответ
по умолчанию Re: BitcoinQt RPC Php скрипт не соединительном Исключение: Неправильный идентификатор ответа

Забавно, что вы должны отправить это только сейчас. Я просто прибегая к помощи, чтобы увидеть, если есть какие-либо скрипты там для получения данных MtGox.

Писали ли вы это с нуля или найти его в другом месте?


благодаря

Это не для данных т GOx, это, так что вы можете подключиться к bitcoind с помощью JSON-RPC API
gweedo сейчас офлайн Пожаловаться на gweedo   Ответить с цитированием Мультицитирование сообщения от gweedo Быстрый ответ на сообщение gweedo

25 марта 2013, 8:34:43 PM   # 5
 
 
Сообщений: 83
Цитировать по имени
цитировать ответ
по умолчанию Re: BitcoinQt RPC Php скрипт не соединительном Исключение: Неправильный идентификатор ответа

По электронной почте Ой! Если бы более внимательно прочитать его.

Существуют ли какие-либо существующие скрипты, которые используют MtGox API, что кто-нибудь может указывать мне?
MaxCoins сейчас офлайн Пожаловаться на MaxCoins   Ответить с цитированием Мультицитирование сообщения от MaxCoins Быстрый ответ на сообщение MaxCoins

25 марта 2013, 8:39:04 PM   # 6
 
 
Сообщения: 1246
Цитировать по имени
цитировать ответ
по умолчанию Re: BitcoinQt RPC Php скрипт не соединительном Исключение: Неправильный идентификатор ответа

По электронной почте Ой! Если бы более внимательно прочитать его.

Существуют ли какие-либо существующие скрипты, которые используют MtGox API, что кто-нибудь может указывать мне?

https://en.bitcoin.it/wiki/MtGox/API

использовать версии V1, так как У0 прекращено, есть определенная часть вам нужна помощь вы можете вечер мне, если вы хотите.
gweedo сейчас офлайн Пожаловаться на gweedo   Ответить с цитированием Мультицитирование сообщения от gweedo Быстрый ответ на сообщение gweedo

25 марта 2013, 8:46:22 PM   # 7
 
 
Сообщений: 83
Цитировать по имени
цитировать ответ
по умолчанию Re: BitcoinQt RPC Php скрипт не соединительном Исключение: Неправильный идентификатор ответа

То, что я хотел бы сделать, это собрать и отслеживать торговые данные, так что я могу анализировать ее. Я могу написать ее с нуля, но я уверен, что кто-то уже написал несколько сценариев, которые имеют сходную функциональность - это почти всегда бывает в таких ситуациях, в моем опыте.

благодаря
MaxCoins сейчас офлайн Пожаловаться на MaxCoins   Ответить с цитированием Мультицитирование сообщения от MaxCoins Быстрый ответ на сообщение MaxCoins

25 марта 2013, 8:48:12 PM   # 8
 
 
Сообщений: 83
Цитировать по имени
цитировать ответ
по умолчанию Re: BitcoinQt RPC Php скрипт не соединительном Исключение: Неправильный идентификатор ответа

Или, может быть, что данные уже общедоступная где-то и я идиот. 
MaxCoins сейчас офлайн Пожаловаться на MaxCoins   Ответить с цитированием Мультицитирование сообщения от MaxCoins Быстрый ответ на сообщение MaxCoins

25 марта 2013, 8:48:15 PM   # 9
 
 
Сообщения: 1246
Цитировать по имени
цитировать ответ
по умолчанию Re: BitcoinQt RPC Php скрипт не соединительном Исключение: Неправильный идентификатор ответа

То, что я хотел бы сделать, это собрать и отслеживать торговые данные, так что я могу анализировать ее. Я могу написать ее с нуля, но я уверен, что кто-то уже написал несколько сценариев, которые имеют сходную функциональность - это почти всегда бывает в таких ситуациях, в моем опыте.

благодаря

Я бы с веб-розеткой и использовать другой язык, я написал что-то вроде этого, что взяли торговые цены и поместить их в базу данных MySQL в Java, если вы хотите купить его от меня, и я могу установить его именно к вашему нужно вечер меня, и я могу дать вам цитату.
gweedo сейчас офлайн Пожаловаться на gweedo   Ответить с цитированием Мультицитирование сообщения от gweedo Быстрый ответ на сообщение gweedo

25 марта 2013, 8:52:38 PM   # 10
 
 
Сообщений: 83
Цитировать по имени
цитировать ответ
по умолчанию Re: BitcoinQt RPC Php скрипт не соединительном Исключение: Неправильный идентификатор ответа

Спасибо за предложение, но его не то, что я бы заплатил за на данный момент - более просто вопрос из любопытства.
MaxCoins сейчас офлайн Пожаловаться на MaxCoins   Ответить с цитированием Мультицитирование сообщения от MaxCoins Быстрый ответ на сообщение MaxCoins

25 марта 2013, 10:11:53 PM   # 11
 
 
Сообщения: 3
Цитировать по имени
цитировать ответ
по умолчанию Re: BitcoinQt RPC Php скрипт не соединительном Исключение: Неправильный идентификатор ответа

спасибо, хотя я вставил неправильный Rpc клиента. Вот один я имел в виду, чтобы вставить. Он использует завиток (ниже) и получает ошибки вывода экрана описаны ранее:

Благодарю. (Кстати, эти изменения уже упоминалось ранее работал на моем локальном сервере, но не с интернет-соединений ??)


    
    класс jsonRPCClient {
           
            / **
             * Debug состояние
             *
             * @var булево
             * /
            частные $ отлаживать;
           
            / **
             * URL-адрес сервера
             *
             * @var строка
             * /
            частный $ URL;
            / **
             * Запрос идентификатор
             *
             * @var целое
             * /
            частный $ ID;
            / **
             * Если это правда, уведомления выполняются вместо запросов
             *
             * @var булево
             * /
            частное $ уведомление = ложь;
           
            / **
             * Принимает параметры соединения
             *
             * @param строка $ URL
             * @param булева $ отлаживать
             * /
            общественная функция __construct ($ URL, $ отлаживать = ложь) {
                    // URL сервера
                    $ this->URL = $ URL;
                    // прокси
                    пусто ($ прокси)? $ this->прокси = '': $ this->прокси = $ прокси;
                    // состояние отладки
                    пусто ($ отлаживать)? $ this->отлаживать = ложь: $ this->отлаживать = истина;
                    // Идентификатор сообщения
                    $ this->ID = 1;
            }
           
            / **
             * Устанавливает состояние уведомления объекта. В этом состоянии, уведомления выполняются, вместо запросов.
             *
             * @param булева $ уведомление
             * /
            общественная функция setRPCNotification ($ уведомлений) {
                    пусто ($ уведомление)?
                                                            $ this->уведомление = ложь
                                                            :
                                                            $ this->уведомление = True;
            }
           
            / **
             * Выполняет запрос jsonRCP и получает результаты в виде массива
             *
             * @param строка $ метод
             * @param массив $ PARAMS
             * @return массив
             * /
            общественная функция __call (метод $, $ PARAMS) {
                   
                    // проверить
                    если (! is_scalar ($ метод)) {
                            проливают новый Exception ( «имя метода не имеет значения скалярной»);
                    }
                   
                    // проверить
                    если (is_array ($ PARAMS)) {
                            нет // нет ключей
                            $ PARAMS = array_values ​​($ PARAMS);
                    } Еще {
                            проливают новый Exception ( «Params должны быть предоставлены в виде массива»);
                    }

                    // устанавливает уведомление или запрос задачи
                   
                  // $ this->ID = Rand (0,99999);
                    если ($ this->уведомление) {
                            $ CurrentId = NULL;
                    } Еще {
                            $ CurrentId = $ this->Я бы;
                    }
                   
                    // готовит запрос
                    $ Запрос = массив (
                                                    «Метод» => $ Метод,
                                                    'PARAMS' => $ PARAMS,
                                                    «Идентификатор» => $ currentId
                                                    );
                    $ Запрос = json_encode ($ запроса);
                    $ this->отлаживать && $ this->отладки. = '***** ***** Request'."\ п". $ Запрос."\ п". "***** Конец запроса *****."\ П \ п";
                   
                    // выполняет POST HTTP
                    $ Ч = curl_init ($ this->URL);
                    curl_setopt ($ ч, CURLOPT_RETURNTRANSFER, правда);
                    curl_setopt ($ ч, CURLOPT_HTTPHEADER, массив ( 'Content-Type: применение / JSON'));
                    curl_setopt ($ ч, CURLOPT_POST, правда);
                    curl_setopt ($ ч, CURLOPT_POSTFIELDS, $ запрос);
                   // $ ответ = json_decode (curl_exec ($ ч), правда);

                   $ Ответ = curl_exec ($ ч);
                   json_decode ($ ответ, правда);

                    curl_close ($ ч);

                    // отладочный вывод
                   // если ($ this->отладки) {
                     // Эхо ($ отлаживать);
                    //}
                   
                    // окончательные проверки и возврат
                    если (! $ this->уведомление) {
                            // проверить
                            если ($ ответ [ 'ID']! = $ currentId) {
                                    проливают новый Exception ( 'Неверный идентификатор ответа (идентификатор запроса:' $ currentId 'идентификатор ответа:' $ ответ [ 'ID'] ')'....);
                            }
                            если (! is_null ($ ответ [ 'ошибка'])) {
                                    проливают новый Exception ( 'Request ошибку:' $ ответа [ 'ошибки'].);
                            }
                           
                            возвращение $ ответ [ 'результат'];
                           
                    } Еще {
                            возвращает истину;
                    }
            }
    }
    ?>
Backedbit сейчас офлайн Пожаловаться на Backedbit   Ответить с цитированием Мультицитирование сообщения от Backedbit Быстрый ответ на сообщение Backedbit

26 марта 2013, 6:46:55 AM   # 12
 
 
Сообщения: 546
Цитировать по имени
цитировать ответ
по умолчанию Re: BitcoinQt RPC Php скрипт не соединительном Исключение: Неправильный идентификатор ответа

У меня также были проблемы с кодом вы в курсе, поэтому я переключился на это, и это работает для меня (JSon 2,0).
Источник из: http://ptrofimov.wordpress.com/2011/04/27/php-class-to-implement-json-rpc-2-0-protocol/

Код:
/ **
 * Класс для вызова удаленных методов с помощью протокола JSON-RPC 2.0
 * Включает в себя функции сервера и клиента
 *
 * Согласно официальному JSON-RPC 2.0 спецификации
 * http://groups.google.com/group/json-rpc/web/json-rpc-2-0
 * Без учета «уведомление» и «пакетный режим»
 *
 * Пример использования:
 *
 * 1. Сервер
 *
 * Класс JsonRpcServer
 * {
 * Общественные функции дополнения ($ а, $ б)
 * {
 * Возврат $ а + $ Ь;
 *}
 *}
 *
 * $ Сервер = новый JsonRpc (новый JsonRpcServer ());
 * $ Server->обработать();
 *
 * 2. Клиент
 *
 * $ Клиент = новый JsonRpc ( 'HTTP: // [SERVER] /json_rpc_server.php');
 * $ Результат = $ client->Добавить (2, 2); // возвращает 4
 *
 * @author ptrofimov
 * /
класс JsonRpc
{
Const JSON_RPC_VERSION знак равно «2,0»;

частный $ _server_url$ _server_object;

публичная функция __construct$ pServerUrlOrObject )
{
если ( is_string$ pServerUrlOrObject ))
{
если ( !$ pServerUrlOrObject )
{
бросить новый исключение«URL строка может \» т быть пустым» );
}
$ this-->_server_url знак равно $ pServerUrlOrObject;
}
ElseIf ( is_object$ pServerUrlOrObject ))
{
$ this-->_server_object знак равно $ pServerUrlOrObject;
}
еще
{
бросить новый исключение«Входной параметр должен быть URL строковый объект или сервер класса» );
}
}

публичная функция __вызов$ pMethod, массив $ pParams )
{
если ( нулевой$ this-->_server_url ))
{
бросить новый исключение«Это сервер объектов JSON-RPC: вы можете \» т вызова удаленных методов );
}
$ запрос = новый StdClass();
$ запрос->jsonrpc знак равно сам::JSON_RPC_VERSION;
$ запрос->метод знак равно $ pMethod;
$ запрос->Титулы знак равно $ pParams;
$ запрос->Я бы знак равно md5uniqidмикропорыправда ), правда ));
$ request_json знак равно json_encode$ запрос );
$ ч знак равно curl_init();
curl_setopt_array$ ч,
массив ( CURLOPT_URL знак равно> $ this-->_server_urlCURLOPT_HEADER знак равно> 0CURLOPT_POST знак равно> 1,
CURLOPT_POSTFIELDS знак равно> $ request_jsonCURLOPT_RETURNTRANSFER знак равно> ));
$ response_json знак равно curl_exec$ ч );
если ( curl_errno$ ч ))
{
бросить новый исключениеcurl_error$ ч ), curl_errno$ ч ));
}
если ( curl_getinfo$ чCURLINFO_HTTP_CODE знак равно 200 )
{
бросить новый исключениеSprintf'Curl ответ HTTP код ошибки "% s"',
curl_getinfo$ чCURLINFO_HTTP_CODE )));
}
curl_close$ ч );
$ ответ знак равно $ this-->_parseJson$ response_json );
$ this-->_checkResponse$ ответ$ запрос );
вернуть $ ответ->результат;
}

публичная функция обработать()
{
если ( нулевой$ this-->_server_object ))
{
бросить новый исключение«Это клиент объект JSON-RPC: вы можете \» обработать запрос т» );
}
ob_start();
$ request_json знак равно file_get_contents'PHP: // ввод' );
$ ответ = новый StdClass();
$ ответ->jsonrpc знак равно сам::JSON_RPC_VERSION;
пытаться
{
$ запрос знак равно $ this-->_parseJson$ request_json );
$ this-->_checkRequest$ запрос );
$ ответ->результат знак равно call_user_func_array(
массив ( $ this-->_server_object$ запрос->метод ), $ запрос->Титулы );
$ ответ->Я бы знак равно $ запрос->Я бы;
}
поймать ( Исключение $ ех )
{
$ ответ->ошибка = новый StdClass();
$ ответ->ошибка->код знак равно $ ех->получить код();
$ ответ->ошибка->сообщение знак равно $ ех->GetMessage();
$ ответ->Я бы знак равно ноль;
}
ob_clean();
эхо json_encode$ ответ );
// Эхо $ ответ;
}

частные функции _parseJson$ PDATA )
{
$ данных знак равно json_decode$ PDATA );//, ложный); //, 32);
если ( нулевой$ данных ))
{
бросить новый исключение«Ошибка синтаксического анализа», -32700 );
}
вернуть $ данных;
}

частные функции _checkRequest$ pObject )
{
если ( !is_object$ pObject ) || ! Исеть ( $ pObject->jsonrpc ) || $ pObject->jsonrpc !== сам::JSON_RPC_VERSION || ! Исеть (
$ pObject->метод ) || !is_string$ pObject->метод ) || !$ pObject->метод || (Исеть (
$ pObject->Титулы ) && !is_array$ pObject->Титулы )) || ! Исеть ( $ pObject->Я бы ))
{
бросить новый исключение'Неверный запрос', -32600 );
}
если ( !is_callable(Массив ( $ this-->_server_object$ pObject->метод )))
{
бросить новый исключение«Метод не найден», -32601 );
}
если ( нулевой$ pObject->Титулы ))
{
$ pObject->Титулы = Массив ();
}
}

частные функции _checkResponse$ pObject$ pRequest )
{
если ( !is_object$ pObject ) || ! Исеть ( $ pObject->jsonrpc ) || $ pObject->jsonrpc !== сам::JSON_RPC_VERSION || (! Исеть (
$ pObject->результат ) && ! Исеть ( $ pObject->ошибка )) || (Исеть ( $ pObject->результат ) && (! Исеть (
$ pObject->Я бы ) || $ pObject->Я бы !== $ pRequest->Я бы )) || (Исеть ( $ pObject->ошибка ) && (!is_object(
$ pObject->ошибка ) || ! Исеть ( $ pObject->ошибка->код ) || ! Исеть ( $ pObject->ошибка->сообщение ))))
{
бросить новый исключение«Неверный ответ», -32600 );
}
если (Исеть ( $ pObject->ошибка ))
{
бросить новый исключение$ pObject->ошибка->сообщение$ pObject->ошибка->код );
}
}
}
tutkarz сейчас офлайн Пожаловаться на tutkarz   Ответить с цитированием Мультицитирование сообщения от tutkarz Быстрый ответ на сообщение tutkarz



Как заработать Биткоины?

Bitcoin Wallet * Portefeuille Bitcoin * Monedero Bitcoin * Carteira Bitcoin * Portafoglio Bitcoin * Bitcoin Cüzdan * 比特币钱包

bitcoin-zarabotat.ru
Почта для связи: bitcoin-zarabotat.ru@yandex.ru

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW