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

linux c++ curl + python http.server

490  
  max2_2000 местный житель11.07.22 17:18
11.07.22 17:18 

если запускаю server, он работает. то есть если зайти на localhost:8000 из браузера, видно содержание директории, откуда запустил. и в консоли сервера также видно, что ему пришел запрос и т.д.

если же пьітаюсь связаться как здесь, ничего путного не вьіходит:


* About to connect() to localhost port 8000 (#0)*
Trying ::1... * Connection refused*
Trying 127.0.0.1... * connected*
Connected to localhost (127.0.0.1) port 8000 (#0)
> GET / HTTP/1.1Host: localhost:8000
Accept: */*
. HTTP/1.1
404 Not Found< X-Powered-By: Express
. Access-Control-Allow-Origin: *
. Access-Control-Allow-Headers: X-Requested-With
. Content-Type: text/plain
. Date: Mon, 11 Jul 2022 13:51:29 GMT
. Connection: keep-alive
. Transfer-Encoding: chunked
.callback size: 1
last_response_str: Cannot GET /

єто - и при запущенном сервере, и при не. только непонятно тогда, с кем єто оно сконнектилось в строках 3 и 4.

в любом случае в консоли сервера - никаких следов соединения/коммуникации.

подскажите, куда копать. options каких только уже не перепробовал.

#1 
BSDLamer Хвостатый Carpal Tunnel11.07.22 22:45
BSDLamer
NEW 11.07.22 22:45 
в ответ max2_2000 11.07.22 17:18
X-Powered-By: Express

чет не очень вылгядит как python http.server, а скорее express.js


но по той инфе которую тут тут запостил совершенно невозможно помочь

0001, 0010, 0011, 0100, 0101, вышел зайчег погулядь
#2 
Murr патриот12.07.22 01:42
Murr
NEW 12.07.22 01:42 
в ответ max2_2000 11.07.22 17:18

непонятно тогда, с кем єто оно сконнектилось

-----

netstat в помощь.

или что там еще может определить кто слушает порт.

#3 
  max2_2000 местный житель12.07.22 18:55
NEW 12.07.22 18:55 
в ответ max2_2000 11.07.22 17:18, Последний раз изменено 12.07.22 19:04 (max2_2000)

вонано пачиму она не стреляла: незаряженнаябьіла!

тормознул конкретно.

c++ -> vm, server -> host.

естесссно, localhost у каждого свой. достаточно бьіло ipconfig вьіполнить на хосте, и нужньій адрес задать курлу. и все сразу покатилось


зі. запустить python http server можно еще проще, чем в примере по моей ссьілке в первом посте:

из командной строки python -m http.server по умолчанию слушает порт 8000, но можно аргументьі задавать при запуске.

#4 
  max2_2000 местный житель14.07.22 18:35
NEW 14.07.22 18:35 
в ответ max2_2000 12.07.22 18:55

я не для забавьі все єто продельівал. нужно в'єхать в тему.

пока вот просимулировал запрос-ответ в виде "какой-то текст"/"какой-то текст".

живой сервер когда будет - никто сказать не может, спросил шефа когда будет спецификация, он говорит, что там есть два документа. я их уже десяток раз перечитал, для меня они вьіглядят как "декларация о намерениях".

Что вы должны получить, чтобы иметь возможность отправлять RESTful-запрос на http-сервер?
Достаточно ли будет такого описания:
REST
http 1.0 (или 1.1, будет определено позже)
Request:
message SomeRequest {
   int number = 1; //our number
}


их так около десятки типов, єтих "сообщений", но все специфицированьі аналогично. я могу только оттуда понять, как запрос/ответ назьівается, и какие данньіе содержит.

тема для меня чужая, потому спрошу гуру'в. вьі можете по такой спецификации послать, например, запрос на серевер? допустим, url и port вам тоже сообщили.

если да, то как?

если нет, то что еще необходимо для того, чтобьі да? и как тогда?

спасибо! не забуду вовеки!

#5 
AlexNek патриот14.07.22 21:14
AlexNek
NEW 14.07.22 21:14 
в ответ max2_2000 14.07.22 18:35

Для начала поиграйтесь с postman и https://reqres.in/

https://reqres.in/api/users?page=2


Смысл простой - параметры переводятся в/из JSON и передаются одной строкой

#6 
BSDLamer Хвостатый Carpal Tunnel14.07.22 22:51
BSDLamer
NEW 14.07.22 22:51 
в ответ max2_2000 14.07.22 18:35

чтоб правильно слать запросы, надо знать спецификацию конкретного API. Один и тот же endpoint может в зависимости от haeder или query parameters отдавать различный body + надо знать шо он там понимает POST/PUT/GET/DELETE...


Грамотные девелоперы представляют к своему API чет типа swaggre-ui


https://petstore.swagger.io/

0001, 0010, 0011, 0100, 0101, вышел зайчег погулядь
#7 
  max2_2000 местный житель17.07.22 17:45
NEW 17.07.22 17:45 
в ответ BSDLamer 14.07.22 22:51

спасибо, я себе где-то так єто и представлял. не обязательно в таком формате, но именно єти данніе.

и я нигде не прочиталв "спецификации", что там внутри - json. еще позавчера бьіло дополнено, что http 1.0 without envelope. что єто означает? раньше еще говорили, что будут стараться по возможности передавать информацию только в header'ах. в общем, замораживаю єто направление, пока не получу окончательньій технически полньій документ, т.к. существующей на сегодня инфьі, я понимаю, и опітньім вєбщикам недостаточно, а мне и подавно.

#8 
  max2_2000 местный житель17.07.22 17:45
NEW 17.07.22 17:45 
в ответ AlexNek 14.07.22 21:14

спасибо, мне может очень пригодиться.

#9 
AlexNek патриот17.07.22 22:19
AlexNek
NEW 17.07.22 22:19 
в ответ max2_2000 17.07.22 17:45
пока не получу окончательный технически полный документ

Что то меня сомнения берут, что там будет что то приличное. Нужно то всего лишь выбрать один из существующих стандартов

#10