Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Кто использует курл? Вывод результата запроса на страницу в HTML?

1688  1 2 все
7495 старожил06.10.23 12:43
7495
06.10.23 12:43 

Объясняю задачку, раньше я брал себе данные через апи, теперь ещё надо брать через кУрл.


А как отображать кУРЛ на странице в браузере? Посмотрел в интернетах: POST, fetc, json... голова пухнет, вот пример:


https://reqbin.com/curl


curl -H "content-type: application/json" -X POST --data '{"id":0,"jsonrpc":"2.0","method":"eth_getBalance","params":["0x0000000000000000000000000000000000007495","latest"]}' https://eth.drpc.org


https://reqbin.com/post-online


https://eth.drpc.org
{"id":0,"jsonrpc":"2.0","method":"eth_getBalance","params":["0x0000000000000000000000000000000000007495","latest"]}


Назад прилетает результат в хеше "0xe8d4a51000", что значит на счету 1000 миллиардов. Как отобразить ответ в хтмл?


{

"id": 0,

"jsonrpc": "2.0",

"result": "0xe8d4a51000"

}

Вопросы и Ответы - Программируем калькулятор пособий для беженцев вместе.
#1 
alex445 коренной житель06.10.23 13:28
NEW 06.10.23 13:28 
в ответ 7495 06.10.23 12:43
что значит на счету 1000 миллиардов

А почему только один раз упомянуто, сколько миллиардов на счету? ))

#2 
7495 старожил06.10.23 13:53
7495
NEW 06.10.23 13:53 
в ответ alex445 06.10.23 13:28
А почему только один раз упомянуто, сколько миллиардов на счету? ))


Это в азохенвеях, типа так называются копейки в эфире, (Less Than $0.01),

У меня на других блокчейнах гораздо большие числа, больше нулей нарисовал))


А по теме? Как ответ на курл показать, как сделать запрос на несколько адресов?


(+не успел просто, машину присматриваю нестыдную!)

Вопросы и Ответы - Программируем калькулятор пособий для беженцев вместе.
#3 
Murr патриот06.10.23 14:31
Murr
NEW 06.10.23 14:31 
в ответ 7495 06.10.23 12:43

голова пухнет

-----

Это не страшно...


А как отображать

-----

Что такое курл разобрался?

Т.е.как работает, какие параметры, что за результат?

Когда поймешь - можно дальше двигаться

#4 
ssenf местный житель06.10.23 19:17
NEW 06.10.23 19:17 
в ответ 7495 06.10.23 12:43

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

этим курл не занимается. кто занимается сказать не могу - вэбня не мое. зависит от того что доступно на сервере(awk/php и подобное) или клиенте (яваскрипт какой).

гуглить json convert to html.

#5 
Срыв покровов патриот06.10.23 19:43
NEW 06.10.23 19:43 
в ответ 7495 06.10.23 12:43

что ж ты за страдалец такой))


curl это ж вроде rest client для командной строки?
Тогда он это не то, что тебе нужно. Тебе нужно из яваскрипта или jQuery делать запрос.

#6 
7495 старожил06.10.23 21:35
7495
NEW 06.10.23 21:35 
в ответ ssenf 06.10.23 19:17
дело сделал - скачал и выдал жейсон. надо этот json распарсить, вытащить требуемое поле, сконвертировать и выдать в хтмл.


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






Вопросы и Ответы - Программируем калькулятор пособий для беженцев вместе.
#7 
7495 старожил06.10.23 21:42
7495
NEW 06.10.23 21:42 
в ответ Срыв покровов 06.10.23 19:43
Тебе нужно из яваскрипта или jQuery делать запрос.

Так я же написал в первом сообщении, мне нужен любой рабочий пример, как ПОСТ запрос распарзить и отобразить,


запрос в curl это мне разработчики подсовывают, например на странице curlconverter.com перевёл в fetch, jquery, json.


А дальше что мне делать с этим кусками кода? Надо чтоб страницу открываю, а там хтмл, только результат показывал.


curl:


curl -H "content-type: application/json" -X POST --data '{"id":0,"jsonrpc":"2.0","method":"eth_getBalance","params":["0x0000000000000000000000000000000000007495","latest"]}' https://eth.drpc.org


fetch:


fetch('https://eth.drpc.org', {
method: 'POST',
headers: {
'content-type': 'application/json'
},
body: JSON.stringify({
'id': 0,
'jsonrpc': '2.0',
'method': 'eth_getBalance',
'params': [
'0x0000000000000000000000000000000000007495',
'latest'
]
})
});


jquery:


$.ajax({
url: 'https://eth.drpc.org',
crossDomain: true,
method: 'post',
contentType: 'application/json',
data: JSON.stringify({
'id': 0,
'jsonrpc': '2.0',
'method': 'eth_getBalance',
'params': [
'0x0000000000000000000000000000000000007495',
'latest'
]
})
}).done(function(response) {
console.log(response);
});


json:


{
"url": "https://eth.drpc.org",
"raw_url": "https://eth.drpc.org",
"method": "post",
"headers": {
"content-type": "application/json"
},
"data": {
"id": 0,
"jsonrpc": "2.0",
"method": "eth_getBalance",
"params": [
"0x0000000000000000000000000000000000007495",
"latest"
]
}
}


Как надо эти куски засунуть в хтмл?

Вопросы и Ответы - Программируем калькулятор пособий для беженцев вместе.
#8 
gendy Dinosaur06.10.23 21:52
gendy
NEW 06.10.23 21:52 
в ответ 7495 06.10.23 21:42

Я бы сказал начать с изучения Javascript потом jquery. А там само пойдёт

Хотя на сегодня наверное jquery уже немного поздновато изучать, но с чего-то начать надо.

Фашизм будет разбит


Человека карают только те боги, в которых он верит

#9 
alex445 коренной житель06.10.23 22:17
NEW 06.10.23 22:17 
в ответ gendy 06.10.23 21:52

Нахер ему что-то изучать - он миллиардер. Ну, если в фантиках измерять. )))

#10 
ssenf местный житель06.10.23 22:39
NEW 06.10.23 22:39 
в ответ 7495 06.10.23 21:35
Все именно так, надо послать запрос, потом распарзить ответ и выдать в хтмл, мне нужна рабочая конструкция вроде этой:

Вы путаете сильно разные вещи. И такого рода рабочей конструкции с курл не получится (по крайней мере, я очень сильно на это надеюсь).

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


Поэтому если очень сильно хочется использовать именно курл для скачивания жейсона, то потом его надо парсить и конвертировать в хтмл по другому и давать клиенту(браузеру) уже готовое. Как именно - зависит от того где и как запускается курл. Фактически нужно городить что-то вроде сервера, который по требованию клиента запускает курл, парсит его вывод. В случае яваскрипта это будет скорей всего нода. Вот тогда рабочая конструкция и будет выглядеть типа приведенного. Можно делать по другому, хоть шеллом (лет 15 назад я бы набросал скриптец на питоне и засунул в cgi-bin), главное в конце иметь хтмл, который и подсовывается потом клиенту/браузеру. Чем именно - зависит от того что вы имеете в наличии помимо курла.


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


Это что - домашнее задание по программированию?

#11 
alex445 коренной житель06.10.23 23:24
NEW 06.10.23 23:24 
в ответ ssenf 06.10.23 22:39, Последний раз изменено 06.10.23 23:24 (alex445)
Это что - домашнее задание по программированию?

Это маленькие этапы большого пути к девятизнакам. Успех уже совсем близко, где-то там за поворотом.

#12 
Murr патриот07.10.23 00:51
Murr
NEW 07.10.23 00:51 
в ответ ssenf 06.10.23 22:39

сохранять выхлоп курла в файлике жейсон, в браузере

------

А когда ты последний раз пытался из браузера читать инфу с диска? безум

#13 
cmpuxa коренной житель07.10.23 06:37
NEW 07.10.23 06:37 
в ответ 7495 06.10.23 12:43
курл свое дело сделал - скачал и выдал жейсон. надо этот json распарсить, вытащить требуемое поле, сконвертировать и выдать в хтмл.
этим курл не занимается. кто занимается сказать не могу

С Python хорошо парсить джейсона. Но хтмл дальше ручками..

#14 
Срыв покровов патриот07.10.23 07:55
NEW 07.10.23 07:55 
в ответ cmpuxa 07.10.23 06:37

Для, парсинга Джейсона не нужен никакой питон
Оно прекрасно работает в джаваскрипт.

#15 
alex445 коренной житель07.10.23 09:18
NEW 07.10.23 09:18 
в ответ Срыв покровов 07.10.23 07:55

Если бы JavaScript Object Notation не работал в javascript, это был бы номер. Но от скриптизёров всего можно ждать.

#16 
7495 старожил08.10.23 15:25
7495
NEW 08.10.23 15:25 
в ответ alex445 07.10.23 09:18

н.п.



Приходит человек на форум к специалистам и спрашивает: "Гляньте пацаны, груша это или яблоко?", показывает 100500 фотографий...


А в ответ ему: "Вопрос настолько серьезный и требующий обширных знаний, Вам следует прочитать все учебники мира по биологии, поступить в универ на агронома, сначала получите бакалавра, потом магистр и докторская диссертация... и только потом Вы сможете отличать яблоко от груши!"


Давайте попробуем ещё раз?


Итак, есть в интернетах сервер - на него шлём 1 запрос, но как распарзить ответ джейсон и вывести на экран?


В таком виде как сейчас тоже есть реакция, от jQuery оно болтается гдето в консоли и на странице ничего не видно!


мне надо не console.log, а в понятный хтмл вроде: .mypanel).html(text) или document.getElementById("demo").innerHTML




Вопросы и Ответы - Программируем калькулятор пособий для беженцев вместе.
#17 
7495 старожил08.10.23 15:27
7495
NEW 08.10.23 15:27 
в ответ 7495 08.10.23 15:25

Надо примерно как в этой задачке, один запрос с разными адресами, результат балансов выводится столбиком:



https://foren.germany.ru/showmessage.pl?Number=39628404&Bo...


Вопросы и Ответы - Программируем калькулятор пособий для беженцев вместе.
#18 
Срыв покровов патриот08.10.23 18:00
NEW 08.10.23 18:00 
в ответ 7495 08.10.23 15:25
мне надо не console.log, а в понятный хтмл вроде: .mypanel).html(text) илиdocument.getElementById("demo").innerHTML

ну и в чем проблема?

Вместо console.log пиши

let text = response.result;

$(.mypanel).html(text);




#19 
7495 старожил08.10.23 19:23
7495
NEW 08.10.23 19:23 
в ответ Срыв покровов 08.10.23 18:00
ну и в чем проблема?
Вместо console.log пиши
let text = response.result;
$(.mypanel).html(text);


Да Да Да! Благодарю! Всё заработало как надо! Сначала выдало ошибку, добавил "гензефюссхены" и заработало! + хекс перевел в децимальные числа!


А теперь следующий вопрос, как послать 1 запрос и чтоб прилетел мульти ответ, например балансы на разных 5 адресов?


Вопросы и Ответы - Программируем калькулятор пособий для беженцев вместе.
#20 
Murr патриот08.10.23 22:01
Murr
NEW 08.10.23 22:01 
в ответ 7495 08.10.23 15:25

Давайте попробуем ещё раз?

-----

Сидит мужик и жрет яблоко. Ахрененно большое, афигенно сочное, гламурненько-ароматное такое... яблоко.

Подбегает к нему кто-то и начинает вопрошать:

А что ты жрешь? А может это слива? А может это персик? А может это банано-ананас?

Мужик жрет яблоко.

А какое это на вкус? А может оно сладкое? А может оно кислое? А может оно горько-снежное?

Мужик жрет яблоко.

А какое оно на ощупь? А может оно мягкое? А может оно твердое? А может оно шелковисто-рубероидное?

Мужик дожрал яблоко, выбросил огрызок в мусорку, вытер рот и руки салфеткой и говорит:

- оно вон там, за углом, продается...

Вот тут и началось самое-самое-пресамое...

#21 
7495 старожил11.10.23 20:00
7495
NEW 11.10.23 20:00 
в ответ 7495 08.10.23 19:23

Карочи, я решил проблемку мультизапроса как мог: наделал в терминале дырок "ембед", в каждой дырке отдельный запрос:


<html>
<body>
<embed src="01.htm" scrolling="no" width="600" height="35" style="border:1px solid gray; margin-bottom: 5px;" /><br>
<embed src="02.htm" scrolling="no" width="600" height="35" style="border:1px solid gray; margin-bottom: 5px;" /><br>
<embed src="03.htm" scrolling="no" width="600" height="35" style="border:1px solid gray; margin-bottom: 5px;" /><br>
</body>
</html>


отдельная страница выглядит так:


<html>
<body>
<script type="text/javascript" src="jquery.js"></script>
<script src="rpc.js"></script>
<script src="address-balance.js"></script>

<b><div class="mypanel"></div></b>

<script type="text/javascript">

var text1 = Address;
const myArray = text1.split(",");
var ADDRESS = myArray[2];

var url = rpc;
$.ajax({
url: rpc,
crossDomain: true,
method: 'post',
contentType: 'application/json',
data: JSON.stringify({
'id': 0,
'jsonrpc': '2.0',
'method': 'eth_getBalance',
params: [
ADDRESS,
'latest'
]
})
}).done(function(response) {

let text = (parseInt(response.result, 16)/1000000000000000000);
$(".mypanel").html(" 03: " + ADDRESS + " = " + text);
});

</script>
</body>
</html>

дополнительно 3 яваскрипта: это понятное дело jquery.js,

+ rpc.js, где записываю адрес страницы куда слать запрос:


var rpc = 'https:eth.drpc.org';


и address-balance.js, где записываю через запятую адреса:


var Address = '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045,0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B,0x0000000000000000000000000000000000007495,';
Вопросы и Ответы - Программируем калькулятор пособий для беженцев вместе.
#22 
alex445 коренной житель11.10.23 21:21
NEW 11.10.23 21:21 
в ответ 7495 11.10.23 20:00
Карочи, я решил проблемку мультизапроса как мог

У вас в роду индусов не было? ))

#23 
Срыв покровов патриот11.10.23 22:36
NEW 11.10.23 22:36 
в ответ alex445 11.10.23 21:21

не дай Будда этому человеку поручат наваять онлайн шоп 😫

Будет

Шапка.Хтмл

Кепка.Хтмл

.....


#24 
daduda Забанен до 21/7/25 15:44 свой человек22.10.23 07:01
daduda
NEW 22.10.23 07:01 
в ответ 7495 06.10.23 12:43

а когда то давно в Германии работали программисты, которые могли открывать.HTML в браузере

#25 
daduda Забанен до 21/7/25 15:44 свой человек22.10.23 07:06
daduda
NEW 22.10.23 07:06 
в ответ 7495 06.10.23 12:43, Последний раз изменено 22.10.23 09:31 (daduda)

для этого вам не нужен curl вообще.


Забудьте его. Это инструмент тестировщика.


Запрос выполняйте в самом js.


Используйте axios

#26 
1 2 все